Zwei Klassen können in Java zum Lesen von Dateien verwendet werden: BufferedReader und BufferedInputStream.
1. Verwenden Sie BufferedReader
In den folgenden Beispielen sehen wir zwei Methoden zur Verwendung von BufferedReader zum Lesen von Dateien.
Hier habe ich zwei TXT-Dateien, myfile1.txt und myfile2.txt. Um zu demonstrieren, wie eine Datei gelesen wird.
Ich habe die erste Datei mit der Methode readLine() gelesen. Verwenden Sie die Methode read(), um die zweite Datei zu lesen.
Methode 1: Verwenden Sie die readLine()-Methode der BufferedReader-Klasse
public String readLine() throws IOException
Es liest eine Textzeile.
Methode 2: Verwenden Sie die read()-Methode
public int read() throws IOException
Es liest die Zeichen des Textes. Da es einen ganzzahligen Wert zurückgibt, muss es explizit in den Typ char konvertiert werden.
2. Verwenden von BufferedInputStream
Die Schritte zum Lesen von Dateien mit FileInputStream und BufferedInputStream in Java sind wie folgt folgt:
1) Erstellen Sie eine Dateiinstanz anhand des vollständigen Pfads der Datei.
2) Übergeben Sie die Dateiinstanz an FileInputStream, wodurch eine Verbindung zur tatsächlichen Datei geöffnet wird, die durch das Dateiobjekt file im Dateisystem benannt wird.
3) Übergeben Sie die FileInputStream-Instanz an BufferedInputStream, der einen BufferedInputStream erstellt und seine Parameter darin zur späteren Verwendung speichert.
Erstellen Sie ein internes Pufferarray in buf.
4) Verwenden Sie eine While-Schleife, um die Datei zu lesen, und die Methode available() prüft, ob das Ende der Datei gelesen wurde. Verwenden Sie in der Zwischenzeit die Lesefunktion von FileInputStream, um den Dateiinhalt zu lesen
Das vollständige Codebeispiel lautet wie folgt
import java.io.*; public class ReadFileDemo { public static void main(String[] args) { //读取c盘的file1文件 File file = new File("C://file1.txt"); BufferedInputStream bis = null; FileInputStream fis= null; try { //第一步 通过文件路径来创建文件实例 fis = new FileInputStream(file); /*把FileInputStream实例 传递到 BufferedInputStream 目的是能快速读取文件 */ bis = new BufferedInputStream(fis); /*available检查是不是读到了文件末尾 */ while( bis.available() > 0 ){ System.out.print((char)bis.read()); } }catch(FileNotFoundException fnfe) { System.out.println("文件不存在" + fnfe); } catch(IOException ioe) { System.out.println("I/O 错误: " + ioe); } finally { try{ if(bis != null && fis!=null) { fis.close(); bis.close(); } }catch(IOException ioe) { System.out.println("关闭InputStream句柄错误: " + ioe); } } } }
Chinesisch lesen
Es wird empfohlen Verwenden Sie zum Lesen readline anstelle von read, da chinesische read Nach dem Lesen und Konvertieren werden die Zeichen verstümmelt.
php Chinesische Website, eine große Anzahl kostenloser Java-Einführungs-Tutorials, willkommen zum Online-Lernen!
Das obige ist der detaillierte Inhalt vonWie lese ich Dateien in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!