簡體   English   中英

如何使用Java的BufferedReader與InputStreamReader讀取文件?

[英]How to read a file with Java's BufferedReader vs InputStreamReader?

下面,我有以下代碼讀取文件並逐行通過該文件。.這是使用Java的BufferedReader類。 我很好。

String filename = "C:\\test.txt"
String line = null;

FileReader fileReader = new FileReader(filename);
BufferedReader bufferedReader = new BufferedReader(fileReader);

try {
    while (((line = bufferedReader.readLine()) != null)) {

    //do the following....

   }

} catch (IOException) {
    e.printStackTrace();
    }

但是我現在想開始在Spring / Java中使用InputStreamReader。 我已經編寫了以下代碼,但不確定如何逐行瀏覽文件。 真的對這部分感到困惑。 任何人有任何想法或知道如何做到這一點?

String filepath= "C:\\test.txt" 
File filename= new File(filepath);

try {
    InputStream fileInputStream = new BOMInputStream(new fileInputStream(filename));

// now want to step through the file, line by line..

} catch (IOException) {
    e.printStackTrace();
    }

謝謝

這是使用InputStreamReader逐字節讀取輸入文件的方式。

    char[] chars = new char[100];
    try {
        InputStream inputStream       = new FileInputStream("C:\\test.txt");
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream,"UTF-8");           
        inputStreamReader.read(chars);          
        System.out.println(new String(chars).trim());
    } catch (IOException e) {
        e.printStackTrace();
    }

看一下這個 -

String filename = "C:\\test.txt"
String line = null;

FileInputStream fileInputStream = new FileInputStream(filename);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream));

try {
    while (((line = bufferedReader.readLine()) != null)) {

    //do the following....

   }

} catch (IOException) {
    e.printStackTrace();
}
public static void main(String[] args) {
    try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("c:\\test.txt")))) {

        reader.lines().forEach(line -> {
            // do what you want with the line
        });

    } catch (IOException e) {
        throw new RuntimeException(e);
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM