logo

Kaip atidaryti failą Java

Yra šie būdai, kaip atidaryti failą Java:

  • Java Desktop klasė
  • Java FileInputStream klasė
  • Java BufferedReader klasė
  • Java FileReader klasė
  • Java skaitytuvo klasė
  • Java nio paketas

Java Desktop klasė

„Java Desktop“ klasė suteikia atviras() būdas atidaryti failą. Ji priklauso a java.awt paketą. Darbalaukio diegimas priklauso nuo platformos, todėl būtina patikrinti, ar operacinė sistema palaiko Desktop, ar ne. Darbalaukio klasė ieško susietos programos, užregistruotos vietiniame darbalaukyje, kad galėtų tvarkyti failą. Jei nėra susietos programos arba programos nepavyksta paleisti, ji išmeta FileNotFoundException . Paleidžiama numatytoji vartotojo naršyklė, kad būtų rodomas nurodytas URI.

  • Paleidžia numatytąją vartotojo pašto programą su pasirenkamu pašto adresu URI.
  • Paleidžiama registruota programa, skirta atidaryti, redaguoti arba spausdinti nurodytą failą.

The atviras() Darbalaukio klasės metodas paleidžia susijusią programą, kad atidarytų failą. Failas laikomas argumentu. Metodo parašas yra:

 public void open (File file) throws IOException 

Metodas pateikia šias išimtis:

java8 funkcijos
    NullPointerException:Jei failas yra nulinis.IllegalArgumentException:Jis išmetamas, kai failo nėra.IO išimtis:Jis išmetamas, kai nėra su nurodytu failo tipu susietos programos.Nepalaikomas operacijos vykdymas:Jei dabartinė platforma nepalaiko veiksmo Desktop.Action.Open.

Pavyzdys

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

Kai paleidžiame aukščiau pateiktą programą, ji atidaro nurodytą tekstinį failą numatytojoje teksto rengyklėje. Taip pat galime atidaryti .docx, .pdf ir .webp failus.

Išvestis:

Kaip atidaryti failą Java

Java FileInputStream klasė

Java FileInputStream klasė naudojama failui atidaryti ir skaityti. Failą galime atidaryti ir nuskaityti naudodami FileInputStream klasės konstruktorių. Konstruktoriaus parašas yra:

 public FileInputStream(File file) throws FileNotFoundException 

Ji priima failą kaip argumentą. Tai meta FileNotFoundException jei failo nėra arba failo pavadinimas yra katalogas.

pilnas papildiklis

Pavyzdys

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

Išvestis:

Kaip atidaryti failą Java

Java BufferedReader klasė

Java BufferedReader klasė skaito tekstą iš simbolių įvesties srauto. Ji priklauso a java.io paketą. Failui atidaryti arba skaityti naudojame klasės BufferedReader konstruktorių. Konstruktoriaus parašas yra:

 public BufferedReader(Reader in) 

Jis sukuria buferinį simbolių įvesties srautą, kuris naudoja numatytojo dydžio įvesties buferį. Jis naudoja numatytojo dydžio įvesties buferį.

Pavyzdys

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

Išvestis:

Kaip atidaryti failą Java

Java FileReader klasė

Java Failų skaitytuvas klasė taip pat naudojama failo atidarymui ir skaitymui. Ji priklauso a java.io paketą. Tai patogus failų simbolių skaitymui. Jis naudojamas neapdorotiems baitams skaityti naudojant „FileInputStream“ klasę. Failui atidaryti ir skaityti naudojame klasės FileInputStream konstruktorių. Konstruktoriaus parašas yra:

 public FileReader(File file) throws FileNotFoundException 

Ji priima failą kaip argumentą. Tai išmeta FileNotFoundException jei nurodyto failo nėra arba failo pavadinimas yra katalogas.

operacinės sistemos naudojimas

Pavyzdys

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

Išvestis:

Kaip atidaryti failą Java

Java skaitytuvo klasė

Java Skaitytuvas klasė taip pat naudojama failo atidarymui ir skaitymui. Skaitytuvų klasė priklauso java.util paketą. Failų atidarymui ir skaitymui naudojamas Scanner klasės konstruktorius. Konstruktoriaus parašas yra:

Java pavyzdys
 public scanner (File source) throws FileNotFoundException 

Jis priima failą (nuskaitytą) kaip argumentą. Taip pat meta FileNotFoundException , jei failo šaltinis nerastas.

Pavyzdys

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

Išvestis:

Kaip atidaryti failą Java

Java nio paketas

readAllLines() metodas : ReadAllLines() metodas yra Failų klasės metodas. Jis nuskaito visas failo eilutes, o failo baitai iššifruojami į simbolius naudojant UTF-8 simbolių rinkinį. Jis grąžina eilutes iš failo kaip sąrašą. Metodo parašas yra:

 public static List readAllLines(Path path) throws IOException 

Kur kelias yra failo kelias.

Aukščiau pateiktas metodas yra lygiavertis šių veiksmų iškvietimui:

 File.readAllLines(path, Standard CharSets.UTF_8) 

Collections.emptyList(): Metodas emptyList() yra rinkinio klasės metodas, priklausantis java.util paketui. Jis naudojamas tuščiam sąrašui gauti. Metodo parašas yra:

 public static final List emptyList() 

Pavyzdys

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

Išvestis:

Kaip atidaryti failą Java