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

文本文件如下,我写的程序也在下面,用java读取一行以后进行字符操作(细节可以忽略),但是我下面写的程序只能够读一行,我不知道该怎么去让java判断读哪一行(本来我爸te... 文本文件如下,我写的程序也在下面,用java读取一行以后进行字符操作(细节可以忽略),但是我下面写的程序只能够读一行,我不知道该怎么去让java判断读哪一行(本来我爸temp写成二维数组,可是一直报错),请帮我修改一下可以读整个txt,每行进行字符操作存一个字符串,尽可能的详细。

1: 我是大学。我郁文[的]好学生 【作者】
2: 就说咱们北京吧,有[的]那个 【知道】
3: 这穷人[的]就最怕丧事和喜事儿 【各地】

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ss {

public static void main(String[] arges) throws IOException{
ss t=new ss();
t.reader("c://a.txt");
//for(int i=0;i<array.length;i++){
// System.out.print(array[i]+";");
// }
}
@SuppressWarnings("null")
public void reader(String filename) throws IOException{
int i=0;
byte[] temp = null;
FileReader F=new FileReader(filename);
BufferedReader B=new BufferedReader(F);
String Read=B.readLine();
while(Read!=null){
String[] strNumber=Read.split("\n");
temp=strNumber[i].getBytes();
Read=B.readLine();
i++;
}
B.close();
F.close();
for(int k=0;k<temp.length;k++){
System.out.print(temp[k]+" ");}
System.out.println();
int j=0;
int[] num=new int[3];
String ex=": [的。【】]";
byte[] exx=ex.getBytes();
while(j<temp.length){
if(temp[j]==exx[0]&&temp[j+1]==exx[1]&&j<10){
num[0]=j+2;}
if(temp[j]==exx[5]&&temp[j+1]==exx[6]&&temp[j+2]==exx[1]){
num[1]=j+1;}
if(temp[j]==exx[7]&&temp[j+1]==exx[8]){
num[2]=j+2;}
j++;
}
for(int k=0;k<num.length;k++){
System.out.print(num[k]+" ");}
System.out.println();
byte[] str = new byte[num[1]-num[0]+temp.length-num[2]+1];
int s=0;
for(int k=num[0];k<=num[1];k++){
str[s]=temp[k];
s++;
}
for(int k=num[2];k<temp.length-2;k++){
str[s]=temp[k];
s++;
}
int n1=0,n2=0;
int count=0;
for(int k=0;k<str.length;k++){
if(str[k]==exx[2]){
count++;
}
}
byte[] strnew=new byte[str.length-2*count];
while(n1<str.length){
strnew[n2]=str[n1];
if(str[n1]==exx[2]||str[n1]==exx[11]){
n2--;}
n1++;
n2++;
}
for(int k=0;k<str.length;k++){
System.out.print(str[k]+" ");}
System.out.println();
String strtemp0=new String(temp);
System.out.print(strtemp0);
System.out.println();
String strtemp=new String(strnew);
System.out.print(strtemp);
System.out.println();
}
}
亲们,我的意思是读一行为字符串,转化为字节,操作后在转化会字符串,这个操作需要一行处理一次,但是我的txt有很n行,所以我要做n次,可是我不会只读txt的某一行。。。
展开
 我来答
198901245631
2015-06-27 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1732万
展开全部
提示,不要通过字节流或者是字符流的形式进行读取,可以直接通过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流会一直存在,直到程序运行结束。
乌微月2S
2012-12-19 · TA获得超过5037个赞
知道大有可为答主
回答量:5361
采纳率:42%
帮助的人:2890万
展开全部
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就是一行的信息。
}
追问
看清楚问题额,我是想读某一行,比如只读第78行
追答
但是我的txt有很n行,所以我要做n次,可是我不会只读txt的某一行

看清楚问题额,我是想读某一行,比如只读第78行

是我眼神有问题?还是理解有问题。
如果只想读第n行,那就弄个计数器,
int count=0;
int index=77;
String Read="";
String txt=""
while((Read=B.readLine())!=null){
if(count==index){
txt=Read;

}
count++;
}
这个是只读第某行。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wskfhvhc
2012-12-18 · TA获得超过692个赞
知道小有建树答主
回答量:307
采纳率:66%
帮助的人:302万
展开全部
不是很明白你的意思,如果你只是想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);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenguang5092
2012-12-18 · TA获得超过664个赞
知道小有建树答主
回答量:520
采纳率:50%
帮助的人:456万
展开全部
String line;
while((line=br.readLine())!=null){
//循环读取每一行
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式