我有.txt文件,我想从中读取char数组。
我有问题,在.txt文件中我有:
1 a
3 b
2 c
表示a [1] ='a',a [3] ='b',a [2] ='c'。
如何读取文件,我忽略了空格,并考虑新的行?感谢
答案 0 :(得分:1)
我建议你使用Map
代替它,因为它更适合这类问题。:
public static void main(String[] args) {
Scanner s = new Scanner("1 a 3 b 2 c"); // or new File(...)
TreeMap<Integer, Character> map = new TreeMap<Integer, Character>();
while (s.hasNextInt())
map.put(s.nextInt(), s.next().charAt(0));
}
如果您想将TreeMap
转换为char[]
,可以执行以下操作:
char[] a = new char[map.lastKey() + 1];
for (Entry<Integer, Character> entry : map.entrySet())
a[entry.getKey()] = entry.getValue();
注意:
答案 1 :(得分:0)
使用Scanner
可能最容易。
ArrayList<String> a = new ArrayList<String>();
Scanner s = new Scanner(yourFile);
while(s.hasNextInt()) {
int i = s.nextInt();
String n = s.next();
a.add(n);
}
当然,这大胆地假设正确的输入;你应该更加偏执。如果您需要专门处理每一行,可以使用hasNextLine()
和nextLine()
,然后使用String类中的split()
拆分该行。