Datei zeilenweise auslesen mit Java

Zum Auslesen einer Datei braucht man in Java viele Helferlein. Streams, Reader und Builder spielen dabei die Hauptrollen. Um etwas Licht in den Dschungel zu bringen, habe ich eine einfache Java-Anwendung geschrieben, die eine Datei zeilenweise auslesen kann und dann auf der Konsole ausgibt.

Datei die ausgelesen werden soll: C:/Test.txt

1
2
3
Zeile 1
Zeile 2
Zeile 3

Java-Programm: Main.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main
{
	public static void main(String[] args) throws FileNotFoundException, IOException
	{
		String filePath = "C:/Test.txt";
		File file = new File(filePath);
		if(file.isFile())
		{
			// Initial setup
			FileInputStream inputStream = new FileInputStream(file);
			InputStreamReader inputStreamReader = new InputStreamReader(inputStream);			
			BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
			StringBuilder stringBuilder = new StringBuilder();
 
			// Read everything into a StringBuilder
			stringBuilder.append(bufferedReader.readLine());
			while(bufferedReader.ready())
			{
				stringBuilder.append("\r\n");
				stringBuilder.append(bufferedReader.readLine());				
			}
 
			// Print the content of the file on the screen
			System.out.println(stringBuilder.toString());
		}				
	}
}

Ausgabe auf der Kommandozeile:

1
2
3
Zeile 1
Zeile 2
Zeile 3

Weiteres Code-Beispiel

public void parseConfig(URL resource) {
  File file = new File(resource.getFile());
  StringBuilder sb = new StringBuilder();
  String line;
 
  // try-with-resources
  try (
          FileInputStream fis = new FileInputStream(file);
          InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
          BufferedReader br = new BufferedReader(isr)) {
    while ((line = br.readLine()) != null) {
      sb.append(line);
    }
  } catch (IOException ex) {
    //
  } finally {
    System.out.println(sb.toString());
  }
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.