請問:在一個文件中(内容如下)
24 R870/NP 10.0 10.0 0.0 314
25 R871/NP 10.0 10.0 0.0 375
........
44 RN13_1_2/NP 10.0 10.0 0.0 755
........
100 RN31_1_2/NP 10.0 10.0 0.0 315
........
如何選取每行序號之後,“/”符號之前的字段,如第一行的“R870” 3Q!!
(因爲我的分數比較少,還有比較多問題要問,所以只能給這麽一點點。
謝謝大家^-^)
24 R870/NP 10.0 10.0 0.0 314
25 R871/NP 10.0 10.0 0.0 375
........
44 RN13_1_2/NP 10.0 10.0 0.0 755
........
100 RN31_1_2/NP 10.0 10.0 0.0 315
........
如何選取每行序號之後,“/”符號之前的字段,如第一行的“R870” 3Q!!
(因爲我的分數比較少,還有比較多問題要問,所以只能給這麽一點點。
謝謝大家^-^)
(2)如果每行长度固定,用RandomAccessFile 的seek(位置),读4个字节
BufferedInputStream in = ......;
String line = in.readLine();
//这个时候line = " 24 R870/NP 10.0 10.0 0.0 314";
line = line.substring(0,line.indexOf("/"));
String needed = line.substring(line.lastIndexOf(" ")+1,line.length());//你要的
DataInputStream in=new DataInputStream(new LineNumberInputStream(in1));
String line=in.readLine ();
line=line.substring(0,line.indexOf("/"));
String needed=line.substring(line.lastIndexOf(" ")+1);
System.out.println(needed);
in.close();
BufferedInputStream in1=new BufferedInputStream(new FileInputStream("D:\\file\\1.txt"));
DataInputStream in=new DataInputStream(new LineNumberInputStream(in1));
String line=in.readLine ();
while(line!=null){/////////////////////new
line=line.substring(0,line.indexOf("/"));
String needed=line.substring(line.lastIndexOf(" ")+1);
System.out.println(needed);
line=in.readLine ();}///////////////////////new }///////////////////////new
in.close();
對於文件:24 R870/NP 10.0 10.0 0.0 314
25 R871/NP 10.0 10.0 0.0 375
........
44 RN13_1_2/NP 10.0 10.0 0.0 755
........
100 RN31_1_2/NP 10.0 10.0 0.0 315
........使它截取每行的字符串是:R870
R871
.....
RN13_1_2
.....
RN31_1_2
String[] aa=linedata.split("/");
aa[0]应该就是所求字段
String needed=line.substring(line.lastIndexOf(" ")+1);
一起工作才行,不知道你最后一贴是什么意思?
line=line.substring(0,line.indexOf("/"));
是取得/前面的字段
String needed=line.substring(line.lastIndexOf(" ")+1);
是取得空格后的字段啊。
可是我不要每行前面的序號,要的是序號后的空格之后的字符串,到“/”爲止。代碼是樓上莫飛的。用 line=line.substring(0,line.indexOf("/"));這一句可獲得“/”之前的所有字符了
問題是對於文件中的每一行,如:
第一個空格24第二個空格R870/NP 10.0 10.0 0.0 314
.......
第一個空格100第二個空格R870-1-3/NP 10.0 10.0 0.0 314 要求要取的是第二個空格后的字符......
line = line.substring(0,line.indexOf("/"));
String needed = line.substring(line.lastIndexOf(" ")+5);