用Java分割输入文件

时间:2015-02-14 05:14:31

标签: java split string-split

我花了几个小时试图自己解决这个问题,但我无法弄明白并决定问一下。

我正在将一个文件加载到我的程序中,让我分成三个字段。文本文件中的每一行包含3个逗号分隔值 double, double, char。我计划为每个数组创建一个数组,然后键入将每个数组索引中的每个字符串包装到其各自类型的数组中。所以首先我需要分割输入的每一行。

所以我打开文件并将输入分开:

Scanner fileIn = null;
String temp = "";
String[] data;
String fileName = "test.txt";
File textFile = new File(fileName);
fileIn = new Scanner(textFile);

while(fileIn.hasNext()){
temp += in.next;
}

data = temp.split(",");

for(String string: data) {
System.out.println(string);
}

*注意:我知道这不是最漂亮的方式,但这只是我试图产生输出的众多方法之一。

使用.split()的各种变体后,例如temp.split(",") temp.split(",|\n") temp.split(",|\r") temp.split(",|\r\n")和其他变种

0
0
.1
0
.2
0
.3
0
.4
0
.5
0

所以基本上在一行的最后一个字符与下一行的第一个字符配对之后。我不知道如何让它输出到每行一个字符。 Here's文本文件的副本。感谢您提前获得所有帮助!

编辑:输出的文字copy

1 个答案:

答案 0 :(得分:2)

这是你的while循环。在循环之后,temp看起来像......

0,0,.1,0,.2,0,.3,0,.4,0,.5,0,.6,0,.7,0,.8,0,.9,0,.10,0,.

您可以手动插入逗号...

while(fileIn.hasNext()){
        temp += fileIn.next() + ",";
}

然后临时看起来......

0,0,.,1,0,.,2,0,.,3,0,.,4,0,.,5,0,.,6,0,.,7,0,.,8,0,.,9,0,.,10,0,.,

可以用“,”分开