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