Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据一些多个split()条件将文件中的值存储到数组中_Java_String_File Handling - Fatal编程技术网

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");