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
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:
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:
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++
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:
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
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: