Hoje vamos explorar diferentes maneiras de obter o tamanho de um arquivo em Java.
Java obter tamanho do arquivo
Existem diferentes classes que podemos usar para o programa Java obter o tamanho do arquivo. Algumas delas são;
- Java obter tamanho do arquivo usando a classe
File
- Obter tamanho do arquivo em Java usando a classe
FileChannel
- Java obter tamanho do arquivo usando a classe
FileUtils
do Apache Commons IO
Antes de vermos um exemplo de programa para obter o tamanho do arquivo, temos um arquivo PDF de exemplo com tamanho de 2969575 bytes.
Java obter tamanho do arquivo usando a classe File
O método length() da classe File em Java retorna o tamanho do arquivo em bytes. O valor de retorno não é especificado se este arquivo representa um diretório. Portanto, antes de chamar este método para obter o tamanho do arquivo em Java, certifique-se de que o arquivo exista e não seja um diretório. Abaixo está um exemplo simples de programa em Java para obter o tamanho do arquivo usando a classe File.
package com.journaldev.getfilesize;
import java.io.File;
public class JavaGetFileSize {
static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf";
public static void main(String[] args) {
File file = new File(FILE_NAME);
if (!file.exists() || !file.isFile()) return;
System.out.println(getFileSizeBytes(file));
System.out.println(getFileSizeKiloBytes(file));
System.out.println(getFileSizeMegaBytes(file));
}
private static String getFileSizeMegaBytes(File file) {
return (double) file.length() / (1024 * 1024) + " mb";
}
private static String getFileSizeKiloBytes(File file) {
return (double) file.length() / 1024 + " kb";
}
private static String getFileSizeBytes(File file) {
return file.length() + " bytes";
}
}
Obtenha o tamanho do arquivo em Java usando a classe FileChannel
Podemos usar o método size() da FileChannel
para obter o tamanho do arquivo em bytes.
package com.journaldev.getfilesize;
import java.io.IOException;
import java.nio.channels.FileChannel;
import java.nio.file.Path;
import java.nio.file.Paths;
public class JavaGetFileSizeUsingFileChannel {
static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf";
public static void main(String[] args) {
Path filePath = Paths.get(FILE_NAME);
FileChannel fileChannel;
try {
fileChannel = FileChannel.open(filePath);
long fileSize = fileChannel.size();
System.out.println(fileSize + " bytes");
fileChannel.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Java obtém o tamanho do arquivo usando a classe Apache Commons IO FileUtils
Se você já estiver usando o Apache Commons IO em seu projeto, pode usar o método sizeOf do FileUtils para obter o tamanho do arquivo em Java.
package com.journaldev.getfilesize;
import java.io.File;
import org.apache.commons.io.FileUtils;
public class JavaGetFileSizeUsingApacheCommonsIO {
static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf";
public static void main(String[] args) {
File file = new File(FILE_NAME);
long fileSize = FileUtils.sizeOf(file);
System.out.println(fileSize + " bytes");
}
}
Isso é tudo para os programas Java de obtenção do tamanho do arquivo.
Você pode conferir mais exemplos de IO em Java em nosso Repositório no GitHub.
Source:
https://www.digitalocean.com/community/tutorials/java-get-file-size