清理从文本文件导入数据的方法?

Red*_*ite 1 java text

我有一个文本文件,其中包含以下内容:

名1:0 | 0 | 0 | 0 | 0 |
名2:0 | 0 | 0 | 0 | 0 |
......等

我将名称导入到字符串数组中.

这很好,但是我想不出一种将数字与数组项关联起来的简洁方法.数字由"管道"分隔|'' 字符

理想情况下,我想调用一个方法,当给出名称时返回一个整数数组,例如 public int[] getScores(String name)

Gui*_*ido 6

扫描仪也可以这样做(自Java 1.5起).String#split的优点是可以使用正则表达式进行某种自动类型转换.

来自javadoc的示例

String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close(); 
Run Code Online (Sandbox Code Playgroud)

此外,如果您的目标是通过名称恢复数字,请使用某种哈希表来存储它以便更快地检索.