在 Java 中拆分输入文件

Splitting an input file in Java

我花了好几个小时试图自己解决这个问题,但我就是想不通,所以决定问问。

我正在将一个文件加载到我的程序中,以便我拆分成三个 fields.Each 文本文件中的行包含 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

这是你的 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,.,

可以用","拆分,