无法从java中读取文件(格式困难)

时间:2014-10-01 09:14:30

标签: java file io

我试图从文件中读取数据,并将值存储在变量中。问题是文件中的每一行都是整数和字符串的混合,它们之间的空格/标签数量不均匀。我知道该行的前4个元素是什么,但是有一系列数字长度不同(但这些数字以0结尾)。我尝试了一些不同的方法,但我似乎无法做到正确。首先,我尝试逐行读取一行,在看到空格时将其拆分,然后将不包含空格的值存储到新数组中。这并没有奏效,因为它没有足够好地分开"。数组中的一个索引可以包含一个字符串,多个空格,然后是一个int。我尝试了其他变种,但我似乎无法想到一个好方法。有没有人可以给我一些关于如何阅读这种文件的指示?

以下是文件中一行的示例: 7地毯8 4 5 9 1 2 0

实施例。分裂:

while (in.hasNextLine()) {
   line = in.nextLine();
   String[] splitLine = line.split(" ");
}

我也尝试过使用split(" \ t")

2 个答案:

答案 0 :(得分:3)

尝试替换

line = line.split(" ");

line.split("\\s+");

这将根据空白而不是单个空格分割线条。这意味着它将占用多个空格,制表符等。

答案 1 :(得分:1)

当你到达空间时要正确分割

line = line.split("\\s+");

这是因为" "被认为是Java中的一个特殊字符 如果它是单个空格,则会使用line = line.split("\\s");,但是要先做多个空格。