Є такі способи відкрити файл у Java:
- Клас Java Desktop
- Клас Java FileInputStream
- Клас Java BufferedReader
- Клас Java FileReader
- Клас Java Scanner
- Пакет Java nio
Клас Java Desktop
Клас Java Desktop надає ВІДЧИНЕНО() метод відкриття файлу. Належить до a java.awt пакет. Реалізація робочого столу залежить від платформи, тому необхідно перевірити, підтримує операційна система робочий стіл чи ні. Клас Desktop шукає пов’язану програму, зареєстровану на рідному робочому столі для обробки файлу. Якщо пов’язаної програми немає або програму не вдається запустити, викидається FileNotFoundException . Запускає браузер користувача за умовчанням, щоб показати вказаний URI.
- Запускає поштовий клієнт користувача за умовчанням із необов’язковим URI для надсилання пошти.
- Запускає зареєстровану програму для відкриття, редагування або друку вказаного файлу.
The ВІДЧИНЕНО() метод класу Desktop запускає відповідну програму для відкриття файлу. Він приймає файл як аргумент. Сигнатура методу:
public void open (File file) throws IOException
Метод створює наступні винятки:
мікролітичне ядро
приклад
import java.awt.Desktop; import java.io.*; public class OpenFileExample1 { public static void main(String[] args) { try { //constructor of file class having file as argument File file = new File('C:\demo\demofile.txt'); if(!Desktop.isDesktopSupported())//check if Desktop is supported by Platform or not { System.out.println('not supported'); return; } Desktop desktop = Desktop.getDesktop(); if(file.exists()) //checks file exists or not desktop.open(file); //opens the specified file } catch(Exception e) { e.printStackTrace(); } } }
Коли ми запускаємо наведену вище програму, вона відкриває вказаний текстовий файл у текстовому редакторі за замовчуванням. Ми також можемо відкрити файли .docx, .pdf і .webp.
Вихід:
список c#
Клас Java FileInputStream
Java FileInputStream клас використовується для відкриття та читання файлу. Ми можемо відкрити та прочитати файл за допомогою конструктора класу FileInputStream. Підпис конструктора:
public FileInputStream(File file) throws FileNotFoundException
Він приймає файл як аргумент. Це кидає FileNotFoundException якщо файл не існує або ім'я файлу є каталогом.
приклад
import java.io.*; import java.util.Scanner; public class OpenFileExample2 { public static void main(String args[]) { try { //constructor of file class having file as argument File file=new File('C:\demo\demofile.txt'); FileInputStream fis=new FileInputStream(file); //opens a connection to an actual file System.out.println('file content: '); int r=0; while((r=fis.read())!=-1) { System.out.print((char)r); //prints the content of the file } } catch(Exception e) { e.printStackTrace(); } } }
Вихід:
Клас Java BufferedReader
Java BufferedReader клас читає текст із потоку введення символів. Належить до a java.io пакет. Ми використовуємо конструктор класу BufferedReader, щоб відкрити або прочитати файл. Підпис конструктора:
public BufferedReader(Reader in)
Він створює буферний потік введення символів, який використовує вхідний буфер розміру за замовчуванням. Він використовує вхідний буфер розміру за замовчуванням.
приклад
import java.io.*; import java.util.Scanner; public class OpenFileExample3 { public static void main(String args[]) { try { //constructor of File class having file as argument File file=new File('C:\demo\demofile.txt'); //creates a buffer reader input stream BufferedReader br=new BufferedReader(new FileReader(file)); System.out.println('file content: '); int r=0; while((r=br.read())!=-1) { System.out.print((char)r); } } catch(Exception e) { e.printStackTrace(); } } }
Вихід:
Клас Java FileReader
Java FileReader Клас також використовується для відкриття та читання файлу. Належить до a java.io пакет. Це зручність для читання символів файлів. Він використовується для читання необроблених байтів за допомогою класу FileInputStream. Ми використовуємо конструктор класу FileInputStream, щоб відкрити та прочитати файл. Підпис конструктора:
public FileReader(File file) throws FileNotFoundException
Він приймає файл як аргумент. Це кидає FileNotFoundException якщо вказаний файл не існує або ім'я файлу є каталогом.
приклад
import java.io.*; public class OpenFileExample4 { public static void main(String args[]) { try { //constructor of the File class having file as an argument FileReader fr=new FileReader('C:\demo\demofile.txt'); System.out.println('file content: '); int r=0; while((r=fr.read())!=-1) { System.out.print((char)r); //prints the content of the file } } catch(Exception e) { e.printStackTrace(); } } }
Вихід:
створення екземпляра java
Клас Java Scanner
Java Сканер Клас також використовується для відкриття та читання файлу. До класу Scanner належить java.util пакет. Для відкриття та читання файлу використовується конструктор класу Scanner. Підпис конструктора:
public scanner (File source) throws FileNotFoundException
Він приймає файл (для сканування) як аргумент. Також кидає FileNotFoundException , якщо джерело файлу не знайдено.
приклад
import java.io.File; import java.util.Scanner; public class OpenFileExample5 { public static void main(String[] args) { try { File file=new File('C:\demo\demofile.txt'); Scanner sc = new Scanner(file); //file to be scanned while (sc.hasNextLine()) //returns true if and only if scanner has another token System.out.println(sc.nextLine()); } catch(Exception e) { e.printStackTrace(); } } }
Вихід:
Пакет Java nio
метод readAllLines(). : Метод readAllLines() є методом класу File. Він читає всі рядки з файлу, а байти з файлу декодуються в символи за допомогою кодування UTF-8. Він повертає рядки з файлу у вигляді списку. Сигнатура методу:
public static List readAllLines(Path path) throws IOException
Де шлях — це шлях до файлу.
програми java
Наведений вище метод еквівалентний виклику наступного:
File.readAllLines(path, Standard CharSets.UTF_8)
Collections.emptyList(): Метод emptyList() — це метод класу Collection, який належить пакету java.util. Використовується для отримання порожнього списку. Сигнатура методу:
public static final List emptyList()
приклад
import java.util.*; import java.nio.charset.StandardCharsets; import java.nio.file.*; import java.io.*; public class OpenFileExample6 { public static List readFileInList(String fileName) { List lines = Collections.emptyList(); try { lines=Files.readAllLines(Paths.get(fileName), StandardCharsets.UTF_8); } catch (IOException e) { e.printStackTrace(); } return lines; } public static void main(String[] args) { List l = readFileInList('C:\demo\demofile.txt'); Iterator itr = l.iterator(); //access the elements while (itr.hasNext()) //returns true if and only if scanner has another token System.out.println(itr.next()); //prints the content of the file } }
Вихід: