logo

Hogyan lehet megnyitni egy fájlt Java-ban

A következő módokon nyithat meg egy fájlt Java nyelven:

  • Java Desktop osztály
  • Java FileInputStream osztály
  • Java BufferedReader osztály
  • Java FileReader osztály
  • Java Scanner osztály
  • Java nio csomag

Java Desktop osztály

A Java Desktop osztály biztosít egy nyisd ki() módszer a fájl megnyitásához. Hozzá tartozik a java.awt csomag. Az asztali megvalósítás platformfüggő, ezért ellenőrizni kell, hogy az operációs rendszer támogatja-e a Desktopot vagy sem. A Desktop osztály a natív asztalon regisztrált társított alkalmazást keres egy fájl kezelésére. Ha nincs társított alkalmazás, vagy az alkalmazást nem sikerül elindítani, akkor kidobja a FileNotFoundException . Elindítja a felhasználói alapértelmezett böngészőt egy megadott URI megjelenítéséhez.

  • Elindítja a felhasználói alapértelmezett levelezőklienst egy opcionális mail-to URI-vel.
  • Elindítja a regisztrált alkalmazást egy megadott fájl megnyitásához, szerkesztéséhez vagy nyomtatásához.

A nyisd ki() A Desktop osztály metódusa elindítja a társított alkalmazást egy fájl megnyitásához. Érvként egy fájlt vesz fel. A módszer aláírása:

 public void open (File file) throws IOException 

A módszer a következő kivételeket dobja ki:

egy példa nyílt forráskódú operációs rendszerre
    NullPointerException:Ha a fájl nulla.IllegalArgumentException:Akkor dobja ki, ha a fájl nem létezik.IO kivétel:Akkor dobja ki, ha nincs az adott fájltípushoz társított alkalmazás.Nem támogatott műveletvégrehajtás:Ha az aktuális platform nem támogatja a Desktop.Action.Open műveletet.

Példa

 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(); } } } 

Amikor a fenti programot futtatjuk, az alapértelmezett szövegszerkesztőben megnyitja a megadott szövegfájlt. Megnyithatjuk a .docx, .pdf és .webp fájlokat is.

Kimenet:

Hogyan lehet megnyitni egy fájlt Java-ban

Java FileInputStream osztály

Jáva FileInputStream osztály fájl megnyitására és olvasására szolgál. Egy fájlt a FileInputStream osztály konstruktorával nyithatunk meg és olvashatunk. A kivitelező aláírása:

java szkenner
 public FileInputStream(File file) throws FileNotFoundException 

A fájlt érvként fogadja el. Ez dob FileNotFoundException ha a fájl nem létezik, vagy a fájl neve egy könyvtár.

Példa

 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(); } } } 

Kimenet:

Hogyan lehet megnyitni egy fájlt Java-ban

Java BufferedReader osztály

Jáva BufferedReader osztály szöveget olvas be egy karakterbeviteli adatfolyamból. Hozzá tartozik a java.io csomag. A fájl megnyitásához vagy olvasásához a BufferedReader osztály konstruktorát használjuk. A kivitelező aláírása:

 public BufferedReader(Reader in) 

Ez létrehoz egy pufferelő karakter-bemeneti adatfolyamot, amely alapértelmezett méretű bemeneti puffert használ. Alapértelmezett méretű bemeneti puffert használ.

Példa

 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(); } } } 

Kimenet:

prioritási sor c++
Hogyan lehet megnyitni egy fájlt Java-ban

Java FileReader osztály

Jáva FileReader osztály fájl megnyitására és olvasására is használható. Hozzá tartozik a java.io csomag. Ez egy kényelem a fájlok karaktereinek olvasásához. Nyers bájtok olvasására használják a FileInputStream osztály használatával. Egy fájl megnyitásához és olvasásához a FileInputStream osztály konstruktorát használjuk. A kivitelező aláírása:

 public FileReader(File file) throws FileNotFoundException 

A fájlt érvként fogadja el. Ez dobja a FileNotFoundException ha a megadott fájl nem létezik, vagy a fájl neve egy könyvtár.

Példa

 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(); } } } 

Kimenet:

Hogyan lehet megnyitni egy fájlt Java-ban

Java Scanner osztály

Jáva Scanner osztály fájl megnyitására és olvasására is használható. A szkenner osztályhoz tartozik java.util csomag. A Scanner osztály konstruktora fájl megnyitására és olvasására szolgál. A kivitelező aláírása:

 public scanner (File source) throws FileNotFoundException 

Elfogad egy (ellenőrzendő) fájlt argumentumként. Az is dob FileNotFoundException , ha a fájl forrása nem található.

Példa

 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(); } } } 

Kimenet:

bájtok a python karakterlánchoz
Hogyan lehet megnyitni egy fájlt Java-ban

Java nio csomag

readAllLines() metódus : A readAllLines() metódus a File osztály metódusa. Minden sort beolvas a fájlból, és a fájl bájtjait UTF-8 karakterkészlet használatával karakterekké dekódolja. Listaként adja vissza a fájl sorait. A módszer aláírása:

 public static List readAllLines(Path path) throws IOException 

Ahol az elérési út a fájl elérési útja.

A fenti módszer egyenértékű a következők meghívásával:

 File.readAllLines(path, Standard CharSets.UTF_8) 

Collections.emptyList(): A emptyList() metódus a Collection osztály metódusa, amely a java.util csomaghoz tartozik. Üres lista lekérésére szolgál. A módszer aláírása:

 public static final List emptyList() 

Példa

 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 } } 

Kimenet:

Hogyan lehet megnyitni egy fájlt Java-ban