如何使用InputStream的Java读取行?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (8911)

我使用InputStream读取一些数据,所以我想读取字符直到新行或'\ n'。

提问于
用户回答回答于

如果从文件中读取,则应使用BufferedReaderwithFileInputStreamReader

BufferedReader reader = new BufferedReader(new FileInputStreamReader(pathToFile));

或者InputStreamReader如果从其他任何人那里阅读InputStream

BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

然后在循环中使用其readLine()方法

while(reader.ready()) {
     String line = reader.readLine();
}

但是,如果你真的喜欢InputStream,那么你可以使用这样的循环

InputStream stream; 
char c; 
String s = ""; 
do {
   c = stream.read(); 
   if (c == '\n')
      break; 
   s += c + "";
} while (c != -1);
用户回答回答于

对于文件,以下内容将允许读取每一行:

import java.io.FileNotFoundException;
import java.util.Scanner;
import java.io.File;

public static void readText throws FileNotFoundException(){

     Scanner scan = new Scanner(new File("filename.txt"));

     while(scan.hasNextLine()){
         String line = scan.nextLine();

     }
}

扫码关注云+社区

领取腾讯云代金券