java读取文本文件txt时候的换行问题

2024-12-23 10:48:23
推荐回答(4个)
回答1:

提示,不要通过字节流或者是字符流的形式进行读取,可以直接通过BufferedReader 流的形式进行流读取,就没有换行符无法区分的问题,之后通过readLine方法获取到流的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。

回答2:

String Read=B.readLine();
while(Read!=null){
String[] strNumber=Read.split("\n");
temp=strNumber[i].getBytes();
Read=B.readLine();
i++;
}
改成
String Read="";
String txt=""
while((Read=B.readLine())!=null){
txt+=Read;
}
txt就是全文,如果要拆分,可以用你的split(“\n”);
你的表达太犀利了。
while((Read=B.readLine())!=null){
Read就是一行的信息。
}

回答3:

不是很明白你的意思,如果你只是想txt文件中的内容读进来,并找印出来,这样操作
import java.io.*;
public class TxtInputStream{
public static void main(String[] args)throws IOException{
InputStream input = null;
File file = new File("c:\\a.txt");
input = new FileInputStream(file);
byte[] temp = new byte[(int)file.length()];
while(input.read(temp,0,(int)file.length()) != -1){
String a = new String(temp);
System.out.println(a);
}
}
}

回答4:

String line;
while((line=br.readLine())!=null){
//循环读取每一行
}