我正在尝试将具有多个字符串的文本文件转换为多个数组,但是代码将它们打印在一个数组中。代码如下
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] ]
其中所有字符串都打印在一个数组中,而我需要多个数组而不是一个数组。 谢谢大家
答案 0 :(得分:0)
如果您的文本全部放在一行中(如示例文本所示),则nextLine()
将该行放入一个String中。
阅读文本后,您必须将其拆分为所需的部分,例如
String line=scan.nextLine();
Matcher matcher=new Pattern("(\\[[^\\]]+\\])").matcher(line);
while(matcher.find())
lines.add(matcher.group(0))