logo

Hur man öppnar en fil i Java

Det finns följande sätt att öppna en fil i Java:

  • Java Desktop klass
  • Java FileInputStream-klass
  • Java BufferedReader-klass
  • Java FileReader klass
  • Java Scanner klass
  • Java nio-paket

Java Desktop klass

Java Desktop-klassen tillhandahåller en öppen() metod för att öppna en fil. Den tillhör en java.awt paket. Desktopimplementeringen är plattformsberoende, så det är nödvändigt att kontrollera att operativsystemet stöder Desktop eller inte. Klassen Desktop letar efter en associerad applikation som är registrerad på det inbyggda skrivbordet för att hantera en fil. Om det inte finns någon associerad applikation eller applikationen inte kan startas, kastar den FileNotFoundException . Startar användarens standardwebbläsare för att visa en angiven URI.

  • Startar användarens standardpostklient med en valfri e-post-till-URI.
  • Startar det registrerade programmet för att öppna, redigera eller skriva ut en angiven fil.

De öppen() metod för Desktop-klassen startar det associerade programmet för att öppna en fil. Det tar en fil som ett argument. Signaturen för metoden är:

 public void open (File file) throws IOException 

Metoden ger följande undantag:

sträng till json-objekt
    NullPointerException:Om filen är null.IllegalArgumentException:Den kastas när filen inte finns.IOException:Det kastas när det inte finns något program kopplat till den givna filtypen.UnsupportedOperationExecution:Om den aktuella plattformen inte stöder åtgärden Desktop.Action.Open.

Exempel

 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ör programmet ovan öppnar det den angivna textfilen i standardtextredigeraren. Vi kan också öppna .docx-, .pdf- och .webp-filerna.

Produktion:

Hur man öppnar en fil i Java

Java FileInputStream-klass

Java FileInputStream klass används för att öppna och läsa en fil. Vi kan öppna och läsa en fil genom att använda konstruktorn för klassen FileInputStream. Konstruktörens signatur är:

 public FileInputStream(File file) throws FileNotFoundException 

Den accepterar en fil som ett argument. Det kastar FileNotFoundException om filen inte finns eller filnamnet är en katalog.

natasha dalal

Exempel

 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:

Hur man öppnar en fil i Java

Java BufferedReader-klass

Java Bufferad Reader klass läser text från en teckeninmatningsström. Den tillhör en java.io paket. Vi använder konstruktorn för klassen BufferedReader för att öppna eller läsa en fil. Konstruktörens signatur är:

 public BufferedReader(Reader in) 

Den skapar en buffrande teckeninmatningsström som använder en indatabuffert i standardstorlek. Den använder en standardstorleksinmatningsbuffert.

Exempel

 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:

Hur man öppnar en fil i Java

Java FileReader klass

Java FileReader klass används också för att öppna och läsa en fil. Den tillhör en java.io paket. Det är en bekvämlighet för att läsa tecken i filerna. Den används för att läsa råbytes med klassen FileInputStream. Vi använder konstruktorn för klassen FileInputStream för att öppna och läsa en fil. Konstruktörens signatur är:

 public FileReader(File file) throws FileNotFoundException 

Den accepterar en fil som ett argument. Det kastar FileNotFoundException om den angivna filen inte finns eller om filnamnet är en katalog.

xml kommentar

Exempel

 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:

Hur man öppnar en fil i Java

Java Scanner klass

Java Scanner klass används också för att öppna och läsa en fil. Skannerklassen tillhör java.util paket. Konstruktören av klassen Scanner används för att öppna och läsa en fil. Konstruktörens signatur är:

 public scanner (File source) throws FileNotFoundException 

Den accepterar en fil (som ska skannas) som ett argument. Det kastar också FileNotFoundException , om källan till filen inte hittas.

Exempel

 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:

Hur man öppnar en fil i Java

Java nio-paket

readAllLines()-metoden : Metoden readAllLines() är metoden för klassen File. Den läser alla rader från en fil och bytes från filen avkodas till tecken med hjälp av UTF-8-teckenuppsättning. Den returnerar raderna från filen som en lista. Signaturen för metoden är:

 public static List readAllLines(Path path) throws IOException 

Där sökväg är filsökvägen.

amisha patel

Ovanstående metod motsvarar att anropa följande:

 File.readAllLines(path, Standard CharSets.UTF_8) 

Collections.emptyList(): Metoden emptyList() är metoden för klassen Collection som tillhör paketet java.util. Den används för att få en tom lista. Signaturen för metoden är:

 public static final List emptyList() 

Exempel

 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:

Hur man öppnar en fil i Java