logo

Kako odpreti datoteko v Javi

Datoteko v Javi lahko odprete na naslednje načine:

  • Razred Java Desktop
  • Razred Java FileInputStream
  • Razred Java BufferedReader
  • Razred Java FileReader
  • razred Java Scanner
  • Java nio paket

Razred Java Desktop

Razred Java Desktop zagotavlja odprto() način za odpiranje datoteke. Pripada a java.awt paket. Implementacija namizja je odvisna od platforme, zato je treba preveriti, ali operacijski sistem podpira namizje ali ne. Razred Desktop išče povezano aplikacijo, registrirano na izvornem namizju za obdelavo datoteke. Če ni povezane aplikacije ali se aplikacije ne zažene, vrže FileNotFoundException . Zažene uporabniški privzeti brskalnik za prikaz določenega URI-ja.

  • Zažene uporabniški privzeti poštni odjemalec z neobveznim URI-jem za e-pošto.
  • Zažene registrirano aplikacijo za odpiranje, urejanje ali tiskanje določene datoteke.

The odprto() metoda razreda Desktop zažene povezano aplikacijo za odpiranje datoteke. Kot argument vzame datoteko. Podpis metode je:

 public void open (File file) throws IOException 

Metoda vrže naslednje izjeme:

vračanje matrike java
    NullPointerException:Če je datoteka ničelna.IllegalArgumentException:Vrže se, ko datoteka ne obstaja.IOException:Vrže se, ko z dano vrsto datoteke ni povezana nobena aplikacija.UnsupportedOperationExecution:Če trenutna platforma ne podpira dejanja Desktop.Action.Open.

Primer

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

Ko zaženemo zgornji program, odpre navedeno besedilno datoteko v privzetem urejevalniku besedil. Odpremo lahko tudi datoteko .docx, .pdf in .webp.

Izhod:

Kako odpreti datoteko v Javi

Razred Java FileInputStream

Java FileInputStream razred se uporablja za odpiranje in branje datoteke. Datoteko lahko odpremo in preberemo s pomočjo konstruktorja razreda FileInputStream. Podpis konstruktorja je:

 public FileInputStream(File file) throws FileNotFoundException 

Kot argument sprejme datoteko. Vrže FileNotFoundException če datoteka ne obstaja ali je ime datoteke imenik.

Primer

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

Izhod:

kaj je datotečni sistem linux
Kako odpreti datoteko v Javi

Razred Java BufferedReader

Java BufferedReader razred bere besedilo iz toka vnosa znakov. Pripada a java.io paket. Za odpiranje ali branje datoteke uporabljamo konstruktor razreda BufferedReader. Podpis konstruktorja je:

 public BufferedReader(Reader in) 

Ustvari medpomnilniški vhodni tok znakov, ki uporablja vhodni medpomnilnik privzete velikosti. Uporablja privzeto velikost vnosnega medpomnilnika.

kateri meseci so v q3

Primer

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

Izhod:

Kako odpreti datoteko v Javi

Razred Java FileReader

Java FileReader razred se uporablja tudi za odpiranje in branje datoteke. Pripada a java.io paket. Je priročen za branje znakov datotek. Uporablja se za branje neobdelanih bajtov z uporabo razreda FileInputStream. Za odpiranje in branje datoteke uporabljamo konstruktor razreda FileInputStream. Podpis konstruktorja je:

 public FileReader(File file) throws FileNotFoundException 

Kot argument sprejme datoteko. Vrže FileNotFoundException če navedena datoteka ne obstaja ali je ime datoteke imenik.

Primer

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

Izhod:

Kako odpreti datoteko v Javi

razred Java Scanner

Java Skener razred se uporablja tudi za odpiranje in branje datoteke. Razred Scanner spada v java.util paket. Za odpiranje in branje datoteke se uporablja konstruktor razreda Scanner. Podpis konstruktorja je:

 public scanner (File source) throws FileNotFoundException 

Kot argument sprejme datoteko (ki jo je treba skenirati). Prav tako meče FileNotFoundException , če vira datoteke ni mogoče najti.

Primer

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

Izhod:

Kako odpreti datoteko v Javi

Java nio paket

metoda readAllLines(). : Metoda readAllLines() je metoda razreda File. Prebere vse vrstice iz datoteke in bajte iz datoteke dekodira v znake z uporabo nabora znakov UTF-8. Vrne vrstice iz datoteke kot seznam. Podpis metode je:

spletni gonilnik
 public static List readAllLines(Path path) throws IOException 

Kjer je pot pot do datoteke.

Zgornja metoda je enakovredna klicanju naslednjega:

 File.readAllLines(path, Standard CharSets.UTF_8) 

Collections.emptyList(): Metoda emptyList() je metoda razreda Collection, ki pripada paketu java.util. Uporablja se za pridobitev praznega seznama. Podpis metode je:

 public static final List emptyList() 

Primer

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

Izhod:

Kako odpreti datoteko v Javi