היום נסתכל על דרכים שונות לקבלת גודל קובץ ב-Java.
קבלת גודל קובץ ב-Java
קיימים מספר קבוצות שניתן להשתמש בהן לתוכנית קבלת גודל קובץ ב-Java. כמה מהן הם:
- קבלת גודל קובץ ב-Java באמצעות מחלקת
File
- קבלת גודל קובץ ב-Java באמצעות מחלקת
FileChannel
- קבלת גודל קובץ ב-Java באמצעות מחלקת
FileUtils
של Apache Commons IO
לפני שנביט בתוכנית דוגמה לקבלת גודל קובץ, יש לנו קובץ PDF דוגמה בגודל של 2969575 בתים.
קבלת גודל קובץ ב-Java באמצעות מחלקת File
שיטת File length() ב-Java מחזירה את גודל הקובץ בבתים. הערך המוחזר אינו מוגדר אם הקובץ מציין ספרייה. לכן לפני קריאה לשיטה זו לקבלת גודל קובץ ב-Java, וודאו שהקובץ קיים ושאינו ספרייה. להלן דוגמה פשוטה לתוכנית קבלת גודל קובץ ב-Java באמצעות מחלקת 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";
}
}
קבלת גודל קובץ ב-Java באמצעות מחלקת FileChannel
ניתן להשתמש בשיטת FileChannel size()
כדי לקבל את גודל הקובץ בבתים.
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 באמצעות מחלקת Apache Commons IO FileUtils
אם כבר משתמשים ב-Apache Commons IO בפרויקט שלכם, אז ניתן להשתמש בשיטת FileUtils sizeOf כדי לקבל את גודל הקובץ ב-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");
}
}
זו כל התוכניות לקבלת גודל קובץ ב-Java.
ניתן לבדוק דוגמאות נוספות של קובץ IO ב-Java ב-מאגר ה-GitHub שלנו.
Source:
https://www.digitalocean.com/community/tutorials/java-get-file-size