Java'da bir dosyayı açmanın aşağıdaki yolları vardır:
- Java Masaüstü sınıfı
- Java FileInputStream sınıfı
- Java BufferedReader sınıfı
- Java FileReader sınıfı
- Java Tarayıcı sınıfı
- Java nio paketi
Java Masaüstü sınıfı
Java Masaüstü sınıfı bir sağlar açık() Bir dosyayı açma yöntemi. Bir şeye ait java.awt paket. Masaüstü uygulaması platforma bağlıdır, bu nedenle işletim sisteminin Masaüstünü destekleyip desteklemediğini kontrol etmek gerekir. Desktop sınıfı, bir dosyayı işlemek için yerel masaüstünde kayıtlı ilişkili bir uygulamayı arar. İlişkili bir uygulama yoksa veya uygulama başlatılamazsa, FileNotFoundException . Belirtilen bir URI'yi göstermek için kullanıcının varsayılan tarayıcısını başlatır.
- İsteğe bağlı bir postaya URI'si ile kullanıcının varsayılan posta istemcisini başlatır.
- Belirtilen bir dosyayı açmak, düzenlemek veya yazdırmak için kayıtlı uygulamayı başlatır.
açık() Desktop sınıfının yöntemi, bir dosyayı açmak için ilgili uygulamayı başlatır. Argüman olarak bir dosya alır. Yöntemin imzası:
public void open (File file) throws IOException
Yöntem aşağıdaki istisnaları atar:
tamsayıyı dizeye nasıl dönüştürebilirim java
Örnek
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(); } } }
Yukarıdaki programı çalıştırdığımızda belirtilen metin dosyasını varsayılan metin düzenleyicide açar. Ayrıca .docx, .pdf ve .webp dosyasını da açabiliriz.
Çıktı:
Java'da nasıl güncelleme yapılır?
Java FileInputStream sınıfı
Java Dosya Giriş Akışı Class bir dosyayı açmak ve okumak için kullanılır. FileInputStream sınıfının yapıcısını kullanarak bir dosyayı açabilir ve okuyabiliriz. Yapıcının imzası:
public FileInputStream(File file) throws FileNotFoundException
Bir dosyayı argüman olarak kabul eder. Fırlatıyor FileNotFoundException dosya mevcut değilse veya dosya adı bir dizinse.
Örnek
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(); } } }
Çıktı:
Java BufferedReader sınıfı
Java Tamponlu Okuyucu sınıf, bir karakter giriş akışından metni okur. Bir şeye ait java.io paket. Bir dosyayı açmak veya okumak için BufferedReader sınıfının yapıcısını kullanırız. Yapıcının imzası:
public BufferedReader(Reader in)
Varsayılan boyutlu bir giriş arabelleği kullanan, ara belleğe alma karakter giriş akışı oluşturur. Varsayılan boyutta bir giriş arabelleği kullanır.
Örnek
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(); } } }
Çıktı:
Java FileReader sınıfı
Java Dosya Okuyucu class ayrıca bir dosyayı açmak ve okumak için de kullanılır. Bir şeye ait java.io paket. Dosyaların karakterlerini okumak için kolaylık sağlar. FileInputStream sınıfını kullanarak ham baytları okumak için kullanılır. Bir dosyayı açmak ve okumak için FileInputStream sınıfının yapıcısını kullanırız. Yapıcının imzası:
public FileReader(File file) throws FileNotFoundException
Bir dosyayı argüman olarak kabul eder. Fırlatıyor FileNotFoundException belirtilen dosya yoksa veya dosya adı bir dizinse.
Örnek
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(); } } }
Çıktı:
bir milyarda kaç milyon var
Java Tarayıcı sınıfı
Java Tarayıcı class ayrıca bir dosyayı açmak ve okumak için de kullanılır. Tarayıcı sınıfının ait olduğu java.util paket. Tarayıcı sınıfının yapıcısı bir dosyayı açmak ve okumak için kullanılır. Yapıcının imzası:
yineleyici java haritası
public scanner (File source) throws FileNotFoundException
Bir dosyayı (taranacak) argüman olarak kabul eder. Ayrıca atar FileNotFoundException Dosyanın kaynağı bulunamazsa.
Örnek
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(); } } }
Çıktı:
Java nio paketi
readAllLines() yöntemi : readAllLines() yöntemi File sınıfının yöntemidir. Bir dosyadaki tüm satırları okur ve dosyadaki baytların kodu UTF-8 karakter seti kullanılarak karakterlere dönüştürülür. Dosyadaki satırları liste halinde döndürür. Yöntemin imzası:
public static List readAllLines(Path path) throws IOException
Yol dosya yoludur.
Yukarıdaki yöntem aşağıdakileri çağırmaya eşdeğerdir:
File.readAllLines(path, Standard CharSets.UTF_8)
Koleksiyonlar.emptyList(): EmptyList() yöntemi, Java.util paketine ait Collection sınıfının yöntemidir. Boş bir liste elde etmek için kullanılır. Yöntemin imzası:
public static final List emptyList()
Örnek
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 } }
Çıktı: