文本文件如下,我写的程序也在下面,用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的某一行。。。
看清楚问题额,我是想读某一行,比如只读第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++;
}
这个是只读第某行。
java读取文本文件txt时候的换行问题
提示,不要通过字节流或者是字符流的形式进行读取,可以直接通过BufferedReader 流的形式进行流读取,就没有换行符无法区分的问题,之后通过readLine方法获取到流的内容。BufferedReader bre = null;try { String file = "D:\/test\/test.txt";bre = new BufferedReader(new FileReader(file));\/\/此时获取...
java里面readline()读取txt文件,while((line=br.readLine())!=null...
4:也就是说最后一行是没有字符的,只是倒数第二行最后面有个换行符(或者回车符之类的),所以记事本会把光标往下移动一行,出现了'最后一行’
Java写到.txt文件,如何实现换行
1.使用java中的转义符"\\r\\n":Java代码 String str="aaa"; str+="\\r\\n"; 这样在str后面就有换行了.注意:\\r,\\n的顺序是不能够对换的,否则不能实现换行的效果.2.BufferedWriter的newline()方法:Java代码 FileOutputStream fos=new FileOutputStream("c;\\\\11.txt"); BufferedWriter bw=new...
java 中读取文本时当遇到某个字符时自动换行的代码
import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;public class Day01_ReadTxt {public static void main(String[] args) ...
JAVA中TXT换行问题
取消掉自动换行之后就不会自动换行了。如果还不行就在UE中把^p替换成空的就行了
java输出到TXT文件时怎么加换行?
\/\/\\r\\n为换行符 FileWriter fw = new FileWriter("D:\\\\1.txt");\/\/写入第一行换行 fw.write("第一行\\r\\n");\/\/或者获得系统换行符 String str = "第二行" + System.getProperty("line.separator");fw.write(str);fw.write("第三行");fw.close();\/ windows下的文本文件换行符:\\r\\...
Java写到.txt文件,如何实现换行
第一种:使用System.out.println()\/\/这是换一行。第二种:使用System.out.print("\\n");\/\/这也是换一行.第一种和第二种差不多。只是,如果你要换两行,三行,多行的话。就用:System.out.println("\\n\\n");换两行 换三行:System.out.println("\\n\\n"\\n);...
java 去掉txt里的空格和回车符(也就是换行符)代码怎么写
String filePath = "D:\/\/111\/\/11.txt";BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath)));while((str=br.readLine())!=null) { String s =str;s.replace("\\r","");s.replace("\\t","");} ...
JAVA把字符串输入TXT文件,怎么才可以让字符串换行
在unix和Linux中换行是\\n。所以在windows下打开Linux或unix的文档时,所有内容会在一行中展示,因为没有\\r。但是一些文本编辑器可以在windows下识别Linux或unix的换行,也就可以正常显示了。在Linux或unix下打开windows文档会发现每行末尾多一个类似^M的符号,就是多了一个\\r的造成的。
java中如何使sql中读取的文本信息不换行
mysql读出的text文本应该是一个字符串啊。会换行吗?解决方法有2个 一个是你存入的时候就不换行 另一个是把换行符\/n给去掉就可以了 如果是linux系统 换行符是\/n\/r