我使用InputStream读取一些数据,所以我希望读取字符,直到换行符或'\n‘。
发布于 2016-01-23 04:56:44
如果从文件中读取数据,则应将BufferedReader
与FileInputStreamReader
一起使用
BufferedReader reader = new BufferedReader(new FileInputStreamReader(pathToFile));
或者,如果您从任何其他InputStream
读取,也可以使用InputStreamReader
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);
发布于 2019-03-29 22:54:24
可以使用BufferedReader和扫描仪读取输入流。如果你没有很好的理由,最好使用BufferedRead (广泛讨论BufferedReader与扫描仪see。
我还建议使用带有try- with -resources的Buffered Reader,以确保资源是自动关闭的。see
请参阅以下代码
try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
while (reader.ready()) {
String line = reader.readLine();
System.out.println(line);
}
}catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
发布于 2016-01-23 03:49:47
对于文件,下面的代码将允许您读取每一行:
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();
}
}
https://stackoverflow.com/questions/34954630
复制相似问题