将文本文件转换为多个数组

时间:2019-04-13 05:30:59

标签: java arrays

我正在尝试将具有多个字符串的文本文件转换为多个数组,但是代码将它们打印在一个数组中。代码如下

File file = new File("C://Users//DELL//Desktop//PSOFS+10CV//AA.txt");
Scanner scan = new Scanner(file);
List<String> lines = new ArrayList<String>() ;
while(scan.hasNextLine()){
    lines.add(scan.nextLine());
}

String[] array = lines.toArray(new String[0]);
System.out.println(Arrays.toString(array));

我的文本文件是这样的

[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0][1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0][0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0][1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1][0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0] [1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0] 

上面的代码给我以下结果

[[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0] , [1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0], [0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0] , [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0], [1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0] ]

其中所有字符串都打印在一个数组中,而我需要多个数组而不是一个数组。 谢谢大家

1 个答案:

答案 0 :(得分:0)

如果您的文本全部放在一行中(如示例文本所示),则nextLine()将该行放入一个String中。 阅读文本后,您必须将其拆分为所需的部分,例如

String line=scan.nextLine();
Matcher matcher=new Pattern("(\\[[^\\]]+\\])").matcher(line);
while(matcher.find())
 lines.add(matcher.group(0))