Vandaag zullen we verschillende manieren bekijken om de bestandsgrootte in Java te verkrijgen.
Java bestandsgrootte krijgen
Er zijn verschillende klassen die we kunnen gebruiken voor het programma om de bestandsgrootte in Java te verkrijgen. Enkele daarvan zijn;
- Bestandsgrootte krijgen in Java met behulp van de
File
-klasse - Bestandsgrootte in Java verkrijgen met behulp van de
FileChannel
-klasse - Bestandsgrootte in Java verkrijgen met behulp van Apache Commons IO
FileUtils
-klasse
Voordat we een voorbeeldprogramma bekijken om de bestandsgrootte te verkrijgen, hebben we een voorbeeld pdf-bestand met een grootte van 2969575 bytes.
Bestandsgrootte krijgen in Java met behulp van de File
-klasse
De Java File length() methode retourneert de bestandsgrootte in bytes. De retourwaarde is ongespecificeerd als dit bestand een directory aangeeft. Zorg er dus voor dat het bestand bestaat voordat u deze methode aanroept om de bestandsgrootte in Java te krijgen, en dat het geen directory is. Hieronder staat een eenvoudig voorbeeldprogramma in Java om de bestandsgrootte te krijgen met behulp van de File-klasse.
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";
}
}
Bestandsgrootte ophalen in Java met behulp van de FileChannel
-klasse
We kunnen de FileChannel size()
-methode gebruiken om de bestandsgrootte in bytes op te halen.
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 bestandsgrootte ophalen met behulp van de Apache Commons IO FileUtils
-klasse
Als je al Apache Commons IO gebruikt in je project, dan kun je de FileUtils sizeOf-methode gebruiken om de bestandsgrootte in Java te krijgen.
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");
}
}
Dat is alles voor Java-bestandsgrootteprogramma’s.
Je kunt meer Java IO-voorbeelden bekijken op onze GitHub Repository.
Source:
https://www.digitalocean.com/community/tutorials/java-get-file-size