ה סיומת קובץ היא הסיומת המצורפת לקובץ מחשב. ניתן לזהות אותו בקלות מכיוון שהוא מופיע ישירות בשם הקובץ לאחר נקודה (.)
לדוגמה, שקול שם קובץ Demo.java, כאן שם הקובץ הוא Demo ו-.java הוא סיומת הקובץ שמייצגת את סוג הקובץ.
בחלק זה נלמד כיצד לקבל סיומת קובץ דרך תוכנית Java .
כיתת קבצי Java
- מחלקת ה-Java File מוגדרת ב- זֶה חֲבִילָה. חבילת Java חדשה נוספת הזמינה לביצוע פעולות קלט/פלט היא חבילת java.nio. זה הוצג ב-JDK4.
- הוא משמש לביצוע פעולות קבצים שונות בתוכנת Java.
- למחלקה File יש שיטות ובנאים שונים שעובדים עם שם נתיב הקובץ, שינוי שם של קובץ, מחיקת קובץ, יצירת קובץ חדש וכו'.
- כדי להשתמש בשיטות ובבנאים אלה, יש ליצור מופע של המחלקה File.
- מופעי מחלקות קבצים אינם ניתנים לשינוי, ולכן ברגע שנוצר מופע עם שם נתיב ספציפי לא ניתן לשנות אותו.
קבלת סיומת קובץ
ישנן שתי דרכים לקבל סיומת קובץ ב-Java:
התוכנית הבאה משתמשת במחלקה File כדי לזהות את הסיומת של הקובץ שצוין שאנו נותנים כקלט.
FileTypeDemo.java
import java.io.*; import java.nio.file.Files; public class FileTypeDemo { /* Driver Code */ public static void main(String ar[]) { /* declaring a File instance with path of the File */ File f = new File('C:/Users/WIN 8.1/Desktop/demo.txt'); /* If file exists */ if(f.exists()) { String fType = 'Undetermined'; String fName = f.getName(); String extension = ''; int i = fName.lastIndexOf('.'); if (i > 0) { extension = fName.substring(i + 1); } try { fType= Files.probeContentType(f.toPath()); } catch (IOException ioException) { System.out.println('Cannot determine type of file '+ f.getName()+ ' due to the exception: '+ ioException); } /* Print the file extension. */ System.out.println('File Extension used is: ' + extension + ' and is probably ' + fType); } else { System.out.println('File does not exist!'); } } }
תְפוּקָה:
בתוכנית Java לעיל,
- מופע ו של המחלקה File מ- זֶה נוצרת חבילה. זה יוצר מופע של הנתיב שהועבר לבנאי.
- בשורה הבאה נעשה שימוש במשפט if כדי לבדוק אם הקובץ קיים או לא. אם זה נכון זה יצור את המשתנים לאחסון סוג הקובץ, שם הקובץ וסיומת הקובץ.
- ולבסוף, סיומת הקובץ וסוג התוכן מוצגים בקונסולה באמצעות a הדפס()
שימוש ב- Apache Commons IO
Apache Commons IO הוא הרכיב של Apache שמקורו ב-Java API. הם מספקים מספר שיטות לביצוע פעולות שונות בקבצים מבלי ליצור אובייקט של הקובץ. בתוכנית הבאה השתמשנו ב- FilenameUtils.getExtension() שיטה לקבל את סיומת הקובץ.
GetFileExtensionApache, java
import java.io.IOException; import org.apache.commons.io.FilenameUtils; public class GetFileExtensionApache { /* Driver Code */ public static void main(String []args) { try { usingFilenameUtils(); } catch(IOException e) { System.out.println(e.getMessage()); } } public static void usingFilenameUtils() throws IOException { String path = 'C:/Users/WIN 8.1/Desktop/demo.txt'; System.out.println('Extension: ' + FilenameUtils.getExtension(path)); } }
תְפוּקָה:
Extension: txt
בתוכנית Java לעיל, getExtension() שיטת ה FilenameUtils class משמש כדי לקבל את סיומת הקובץ מבלי ליצור את אובייקט הקובץ.