Heute werden wir uns verschiedene Möglichkeiten anschauen, um die Dateigröße in Java zu erhalten.
Java Dateigröße erhalten
Es gibt verschiedene Klassen, die wir für das Java-Programm zur Dateigröße erhalten verwenden können. Einige davon sind;
- Java Dateigröße erhalten mit der
File
-Klasse - Dateigröße in Java erhalten mit der
FileChannel
-Klasse - Java Dateigröße erhalten mit der Apache Commons IO
FileUtils
-Klasse
Bevor wir uns ein Beispielprogramm zur Dateigröße ansehen, haben wir eine Beispieldatei im PDF-Format mit einer Größe von 2969575 Bytes.
Java Dateigröße erhalten mit der File
-Klasse
Die Java-Methode File length() gibt die Dateigröße in Bytes zurück. Der Rückgabewert ist nicht definiert, wenn diese Datei ein Verzeichnis darstellt. Stellen Sie daher sicher, dass die Datei vorhanden ist und es sich nicht um ein Verzeichnis handelt, bevor Sie diese Methode aufrufen, um die Dateigröße in Java zu erhalten. Nachfolgend finden Sie ein einfaches Beispielprogramm zur Dateigröße in Java unter Verwendung der 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";
}
}
Dateigröße in Java mit der FileChannel
-Klasse abrufen
Wir können die Methode FileChannel size()
verwenden, um die Dateigröße in Byte zu erhalten.
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();
}
}
}
Dateigröße in Java mit der Apache Commons IO FileUtils
-Klasse abrufen
Wenn Sie bereits Apache Commons IO in Ihrem Projekt verwenden, können Sie die Methode FileUtils sizeOf verwenden, um die Dateigröße in Java zu erhalten.
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");
}
}
Das ist alles für Java-Dateigrößenprogramme.
Sie können weitere Java-IO-Beispiele aus unserem GitHub-Repository überprüfen.
Source:
https://www.digitalocean.com/community/tutorials/java-get-file-size