我目前正在编写一个从文件中获取数据的应用。我需要以不同的方式对数据进行排序。问题是文件格式为:
NAME1(tab)A(tab)B
NAME2(tab)C(tab)D
我想将数据分成两个ArrayLists,一个会收集NAME1,NAME2等,所以行的第一个元素,第二个列表将收集其余的。
这是我的代码:
Scanner scan = new Scanner(new File(fname));
while(scan.hasNext()){
}
scan.close();
System.out.println("Lang: ");
for(String item : lang)
System.out.print(item + " ");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
我尝试使用扫描仪方法,但没有结果,我不知道该怎么做。
答案 0 :(得分:1)
这是食谱
fileInputStreamObj = StreamTests.class.getResourceAsStream(your_file_path);
bufferedReaderObj = new BufferedReader(new InputStreamReader(fileInputStreamObj));
bufferedReaderObj
.lines()
.map(s -> {
String[] splitStrings = s.split("\t", -1);
return Arrays.asList(splitStrings);
}).forEach(System.out::println);
我测试了一些东西。
答案 1 :(得分:1)
这是我的尝试:
{{1}}
答案 2 :(得分:0)
我只使用Scanner.nextLine(),然后使用String.split(“\ t”),然后将行的部分附加到相应的列表中。