logo

Hvordan man åbner en fil i Java

Der er følgende måder at åbne en fil i Java:

  • Java Desktop klasse
  • Java FileInputStream klasse
  • Java BufferedReader klasse
  • Java FileReader klasse
  • Java Scanner klasse
  • Java nio pakke

Java Desktop klasse

Java Desktop-klassen giver en åben() metode til at åbne en fil. Det tilhører en java.awt pakke. Desktopimplementering er platformafhængig, så det er nødvendigt at kontrollere, om operativsystemet understøtter Desktop eller ej. Desktop-klassen leder efter en tilknyttet applikation, der er registreret på det oprindelige skrivebord til at håndtere en fil. Hvis der ikke er nogen tilknyttet applikation, eller applikationen ikke kan startes, kaster den FileNotFoundException . Starter brugerens standardbrowser for at vise en specificeret URI.

  • Starter brugerens standardmailklient med en valgfri mail-til-URI.
  • Starter det registrerede program for at åbne, redigere eller udskrive en specificeret fil.

Det åben() metode af Desktop-klassen starter det tilknyttede program for at åbne en fil. Det tager en fil som et argument. Signaturen for metoden er:

 public void open (File file) throws IOException 

Metoden kaster følgende undtagelser:

en fuld formular
    NullPointerException:Hvis filen er null.UlovligArgumentundtagelse:Den kastes, når filen ikke eksisterer.IOException:Det kastes, når der ikke er noget program tilknyttet den givne filtype.UnsupportedOperationExecution:Hvis den aktuelle platform ikke understøtter Desktop.Action.Open-handlingen.

Eksempel

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

Når vi kører ovenstående program, åbner det den angivne tekstfil i standardteksteditoren. Vi kan også åbne .docx-, .pdf- og .webp-filen.

Produktion:

hvad er hive
Hvordan man åbner en fil i Java

Java FileInputStream klasse

Java FileInputStream klasse bruges til at åbne og læse en fil. Vi kan åbne og læse en fil ved at bruge konstruktøren af ​​FileInputStream-klassen. Konstruktørens signatur er:

 public FileInputStream(File file) throws FileNotFoundException 

Den accepterer en fil som et argument. Det kaster FileNotFoundException hvis filen ikke findes, eller filnavnet er en mappe.

Eksempel

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

Produktion:

Hvordan man åbner en fil i Java

Java BufferedReader klasse

Java BufferedReader klasse læser tekst fra en tegninputstrøm. Det tilhører en java.io pakke. Vi bruger konstruktøren af ​​BufferedReader-klassen til at åbne eller læse en fil. Konstruktørens signatur er:

 public BufferedReader(Reader in) 

Det opretter en buffer-tegn-inputstrøm, der bruger en inputbuffer i standardstørrelse. Den bruger en standardstørrelse input buffer.

Eksempel

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

Produktion:

Hvordan man åbner en fil i Java

Java FileReader klasse

Java Fillæser klasse bruges også til at åbne og læse en fil. Det tilhører en java.io pakke. Det er en bekvemmelighed for at læse tegn i filerne. Det bruges til at læse råbytes ved hjælp af FileInputStream-klassen. Vi bruger konstruktøren af ​​FileInputStream-klassen til at åbne og læse en fil. Konstruktørens signatur er:

 public FileReader(File file) throws FileNotFoundException 

Den accepterer en fil som et argument. Det kaster FileNotFoundException hvis den angivne fil ikke findes, eller filnavnet er en mappe.

Eksempel

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

Produktion:

np.random.rand
Hvordan man åbner en fil i Java

Java Scanner klasse

Java Scanner klasse bruges også til at åbne og læse en fil. Scanner-klassen tilhører java.util pakke. Konstruktoren af ​​Scanner-klassen bruges til at åbne og læse en fil. Konstruktørens signatur er:

analog kommunikation
 public scanner (File source) throws FileNotFoundException 

Den accepterer en fil (der skal scannes) som et argument. Den kaster også FileNotFoundException , hvis kilden til filen ikke findes.

Eksempel

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

Produktion:

Hvordan man åbner en fil i Java

Java nio pakke

readAllLines() metode : Metoden readAllLines() er metoden til File-klassen. Den læser alle linjer fra en fil, og bytes fra filen afkodes til tegn ved hjælp af UTF-8-tegnsæt. Det returnerer linjerne fra filen som en liste. Signaturen for metoden er:

 public static List readAllLines(Path path) throws IOException 

Hvor sti er filstien.

Ovenstående metode svarer til at påberåbe sig følgende:

 File.readAllLines(path, Standard CharSets.UTF_8) 

Collections.emptyList(): EmptyList()-metoden er metoden for Collection-klassen, som hører til java.util-pakken. Det bruges til at få en tom liste. Signaturen for metoden er:

 public static final List emptyList() 

Eksempel

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

Produktion:

Hvordan man åbner en fil i Java