اليوم سننظر في طرق مختلفة للحصول على حجم الملف في جافا.
جافا الحصول على حجم الملف
هناك فئات مختلفة يمكننا استخدامها لبرنامج جافا للحصول على حجم الملف. بعضها؛
- الحصول على حجم الملف في جافا باستخدام فئة
File
- الحصول على حجم الملف في جافا باستخدام فئة
FileChannel
- الحصول على حجم الملف في جافا باستخدام فئة Apache Commons IO
FileUtils
قبل أن ننظر في مثال برنامج للحصول على حجم الملف، لدينا ملف pdf عينة بحجم 2969575 بايت.
الحصول على حجم الملف في جافا باستخدام فئة File
تقوم طريقة File length() في جافا بإرجاع حجم الملف بالبايت. القيمة المُرجعة غير محددة إذا كان هذا الملف يشير إلى دليل. لذلك قبل استدعاء هذه الطريقة للحصول على حجم الملف في جافا، تأكد من وجود الملف وأنه ليس دليلاً. فيما يلي برنامج مثالي بسيط للحصول على حجم الملف في جافا باستخدام فئة 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";
}
}
الحصول على حجم الملف في جافا باستخدام فئة 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();
}
}
}
جافا الحصول على حجم الملف باستخدام فئة FileUtils
من Apache Commons IO
إذا كنت تستخدم بالفعل Apache Commons IO في مشروعك، فيمكنك استخدام طريقة FileUtils sizeOf للحصول على حجم الملف في جافا.
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 من مستودعنا على GitHub.
Source:
https://www.digitalocean.com/community/tutorials/java-get-file-size