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