גודל הקובץ ב- Java

1. סקירה כללית

במדריך מהיר זה נלמד כיצד להשיג את גודל הקובץ ב- Java - באמצעות Java 7, ה- Java 8 החדש ו- Apache Common IO.

לבסוף - נקבל גם ייצוג קריא אנושי של גודל הקובץ.

2. Java IO סטנדרטי

נתחיל בדוגמה פשוטה לחישוב גודל הקובץ - באמצעות ה- קובץ.אורך () שיטה:

פרטי ארוך getFileSize (קובץ קובץ) {long length = file.length (); אורך החזרה; }

אנו יכולים לבדוק את היישום שלנו בפשטות יחסית:

@Test ציבורי בטל whenGetFileSize_thenCorrect () {long expectSize = 12607; קובץ imageFile = קובץ חדש ("src / test / resources / image.jpg"); גודל ארוך = getFileSize (imageFile); assertEquals (expectSize, size); }

שים לב, כברירת מחדל, גודל הקבצים מחושב בתים.

3. עם Java NIO

לאחר מכן - בואו נראה כיצד להשתמש בספריית NIO כדי לקבל את גודל הקובץ.

בדוגמה הבאה נשתמש ב- FileChannel.size () API כדי לקבל את גודל הקובץ בתים:

@Test ציבורי בטל כאשר GetFileSizeUsingNioApi_thenCorrect () זורק IOException {long expectSize = 12607; נתיב imageFilePath = Paths.get ("src / test / resources / image.jpg"); FileChannel imageFileChannel = FileChannel.open (imageFilePath); imageFileSize ארוך = imageFileChannel.size (); assertEquals (expectSize, imageFileSize); } 

4. עם Apache Commons IO

לאחר מכן - בואו נראה כיצד להשיג את גודל הקובץ באמצעות Apache Commons IO. בדוגמה הבאה - אנחנו פשוט משתמשים FileUtils.sizeOf () כדי לקבל את גודל הקובץ:

@ מבחן ציבורי בטל כאשר GetFileSizeUsingApacheCommonsIO_thenCorrect () {long expectSize = 12607; קובץ imageFile = קובץ חדש ("src / test / resources / image.jpg"); גודל ארוך = FileUtils.sizeOf (imageFile); assertEquals (expectSize, size); }

שים לב, עבור קבצים מוגבלים לאבטחה, FileUtils.sizeOf () ידווח על הגודל כאפס.

5. גודל קריא לאדם

לבסוף - בואו נראה כיצד להשיג ייצוג קריא יותר למשתמש של גודל הקובץ באמצעות Apache Commons IO - לא רק גודל בתים:

@ מבחן ציבורי בטל כאשר GetReadableFileSize_thenCorrect () {File imageFile = קובץ חדש ("src / test / resources / image.jpg"); גודל ארוך = getFileSize (imageFile); assertEquals ("12 KB", FileUtils.byteCountToDisplaySize (גודל)); } 

6. מסקנה

במדריך זה, המחשנו דוגמאות לשימוש ב- Java ו- Apache Commons IO לחישוב גודל הקובץ במערכת הקבצים.

ניתן למצוא את היישום של דוגמאות אלה בפרויקט GitHub - זהו פרויקט מבוסס Maven, כך שיהיה קל לייבא ולהפעיל אותו כפי שהוא.


$config[zx-auto] not found$config[zx-overlay] not found