java 读取文本文件,用split("\n")分割字符串没用是怎么回事?

RandomAccessFile rf = new RandomAccessFile("D:\\123.txt","rw");
String s;
s=rf.readLine();
String[] t = s.split("\n");
for (int i = 0; i < t.length;i++)
{
a[i]=t[i];
System.out.println(t[i]);
}
rf.close();
输出还是只有文本文件中的第一行

s=rf.readLine();

上面这句?意思是读取一行,当然下面用这个split就是一行的内容了

除非你

String result = "";
while(null != (s = rf.readLine())) {
    result += s + "\n";
}

String[] t = result.split("\n"); 
for (int i = 0; i < t.length;i++)

    a[i]=t[i];
    System.out.println(t[i]);

rf.close();

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-04-04
s=rf.readLine();每次只读一行

要循环读入
for (String line = rf.readLine(); line != null; line = rf.readLine())
{
for (int i = 0; i < line.length;i++)
{
a[i]=line[i];
System.out.println(t[i]);
}
}本回答被提问者采纳
第2个回答  2018-05-10
要这么写吧
String[] t = s.split("\r\n");
第3个回答  推荐于2018-05-11
readLine就是按照行读的,所以不用再分割了。
PS.一般换行是\r\n本回答被网友采纳
第4个回答  2014-04-08
readLine本来就是读取一行啊。
相似回答