Ir šādi veidi, kā atvērt failu Java:
- Java darbvirsmas klase
- Java FileInputStream klase
- Java BufferedReader klase
- Java FileReader klase
- Java skenera klase
- Java nio pakotne
Java darbvirsmas klase
Java Desktop klase nodrošina atvērt () metode faila atvēršanai. Tas pieder pie a java.awt iepakojums. Darbvirsmas ieviešana ir atkarīga no platformas, tāpēc ir jāpārbauda, vai operētājsistēma atbalsta darbvirsmu vai nē. Darbvirsmas klase meklē saistītu lietojumprogrammu, kas reģistrēta vietējā darbvirsmā, lai apstrādātu failu. Ja nav saistīta lietojumprogramma vai lietojumprogrammu neizdodas palaist, tā izmet FileNotFoundException . Palaiž lietotāja noklusējuma pārlūkprogrammu, lai parādītu norādīto URI.
- Palaiž lietotāja noklusējuma pasta klientu ar neobligātu pasta uz URI.
- Palaiž reģistrēto programmu, lai atvērtu, rediģētu vai drukātu noteiktu failu.
The atvērt () Desktop klases metode palaiž saistīto lietojumprogrammu, lai atvērtu failu. Tas izmanto failu kā argumentu. Metodes paraksts ir:
public void open (File file) throws IOException
Metode rada šādus izņēmumus:
java anonīmā funkcija
Piemērs
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(); } } }
Kad mēs palaižam iepriekš minēto programmu, tā atver norādīto teksta failu noklusējuma teksta redaktorā. Mēs varam arī atvērt .docx, .pdf un .webp failu.
Izvade:
Java FileInputStream klase
Java FileInputStream klase tiek izmantota, lai atvērtu un lasītu failu. Failu var atvērt un lasīt, izmantojot FileInputStream klases konstruktoru. Konstruktora paraksts ir:
public FileInputStream(File file) throws FileNotFoundException
Tā pieņem failu kā argumentu. Tas met FileNotFoundException ja fails neeksistē vai faila nosaukums ir direktorijs.
Piemērs
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(); } } }
Izvade:
kā atvērt slēptās lietotnes operētājsistēmā Android
Java BufferedReader klase
Java BufferedReader klase nolasa tekstu no rakstzīmju ievades straumes. Tas pieder pie a java.io iepakojums. Faila atvēršanai vai lasīšanai mēs izmantojam klases BufferedReader konstruktoru. Konstruktora paraksts ir:
public BufferedReader(Reader in)
Tas rada buferizācijas rakstzīmju ievades straumi, kas izmanto noklusējuma lieluma ievades buferi. Tas izmanto noklusējuma lieluma ievades buferi.
bin uz bcd
Piemērs
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(); } } }
Izvade:
Java FileReader klase
Java FileReader klase tiek izmantota arī faila atvēršanai un lasīšanai. Tas pieder pie a java.io iepakojums. Tas ir ērts failu rakstzīmju lasīšanai. To izmanto neapstrādātu baitu lasīšanai, izmantojot klasi FileInputStream. Faila atvēršanai un lasīšanai izmantojam klases FileInputStream konstruktoru. Konstruktora paraksts ir:
public FileReader(File file) throws FileNotFoundException
Tā pieņem failu kā argumentu. Tas izmet FileNotFoundException ja norādītais fails neeksistē vai faila nosaukums ir direktorijs.
Piemērs
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(); } } }
Izvade:
Java skenera klase
Java Skeneris klase tiek izmantota arī faila atvēršanai un lasīšanai. Skeneru klase pieder java.util iepakojums. Skenera klases konstruktors tiek izmantots faila atvēršanai un lasīšanai. Konstruktora paraksts ir:
public scanner (File source) throws FileNotFoundException
Tas pieņem failu (kas tiks skenēts) kā argumentu. Tā arī met FileNotFoundException , ja faila avots nav atrasts.
Piemērs
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(); } } }
Izvade:
Java nio pakotne
ReadAllLines() metode : ReadAllLines() metode ir Failu klases metode. Tas nolasa visas rindiņas no faila, un faila baiti tiek dekodēti rakstzīmēs, izmantojot UTF-8 rakstzīmju kopu. Tas atgriež rindas no faila kā sarakstu. Metodes paraksts ir:
pārvērst par virkni
public static List readAllLines(Path path) throws IOException
Kur ceļš ir faila ceļš.
Iepriekš minētā metode ir līdzvērtīga šādas darbības izsaukšanai:
File.readAllLines(path, Standard CharSets.UTF_8)
Collections.emptyList(): Tukšā saraksta () metode ir kolekcijas klases metode, kas pieder pakotnei java.util. To izmanto, lai iegūtu tukšu sarakstu. Metodes paraksts ir:
public static final List emptyList()
Piemērs
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 } }
Izvade: