The Разширение на файл е суфиксът, прикачен към компютърен файл. Може да се идентифицира лесно, тъй като се появява директно в името на файла след точка (.)
Например, помислете за име на файл 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 програма,
- Един пример f на класа 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 клас се използва за получаване на файловото разширение без създаване на файловия обект.