Java 根据一些多个split()条件将文件中的值存储到数组中
这是我正在阅读的文件:Java 根据一些多个split()条件将文件中的值存储到数组中,java,string,file-handling,Java,String,File Handling,这是我正在阅读的文件: abc.txt 1,Arjun,12,GhandiNagar,Pune,411020 2,Deep,8,M.G.Road,Mumbai,411032 3,Deep,3,F.C.Road,Pune,411032 现在,我如何在字符串数组中存储单个内容。 我用过 String content=""; while(line=br.readLine()!=null) { content=line+content; } String x[]=content.split(",
abc.txt
1,Arjun,12,GhandiNagar,Pune,411020
2,Deep,8,M.G.Road,Mumbai,411032
3,Deep,3,F.C.Road,Pune,411032
现在,我如何在字符串数组中存储单个内容。
我用过
String content="";
while(line=br.readLine()!=null)
{
content=line+content;
}
String x[]=content.split(",");
但这是根据“,”进行拆分的,因此每行的最后一个内容变为411020'2'/411032'3'。
那么,如何将它们分离并存储在一个数组中,如
x[0]=1,x[1]=Arjun,x[2]=12,x[3]=GhandiNagar,x[4]=Pune,x[5]=411020,x[6]=2,等等?
尝试在内容中添加行后添加逗号:
content = line + "," + content;
顺便说一下,这实际上颠倒了文件中行的顺序。如果不希望发生这种情况,请执行以下操作:
content = content + "," + line;
但是通过使用StringBuilder/StringBuffer(更好的性能),可以最好地避免使用字符串连接(这就是您正在做的事情)(性能差)
你应该这样做
String x[]=line.split(",");
在你的while区块内。“拆分方式”将忽略换行符。尝试:
String x[] = line.split(",|\\r?\\n");
此代码使用多个分隔符分隔行。它在每个“,”和每个“\n”处拆分行,这表示文本文件中一行的结尾
|
是正则表达式或运算符。不要连接字符串。使用StringBuffer!
String x[] = line.split(",|\\r?\\n");