将文本文件中的数字分配给哈希表

时间:2012-12-16 19:38:04

标签: java hashtable

我正在尝试将文本文件中的数字分配给哈希表第一个数字作为键,第二个数字作为值,文本文件看起来像第一行(123 321)第二行(456 565)第n行(789 875)所以我正在尝试将空格后的数字指定为值。

我无法弄清楚如何使用

进行尝试
Scanner scanner = new Scanner(new File("C:/Users/msi/Documents/number.txt"));
scanner.useDelimiter(" ");

Hashtable<String, String> numbers = new Hashtable<String, String>();

while(scanner.hasNext()) 
{
    numbers.put(scanner.next(),scanner.next());
    System.out.println(numbers);
}

1 个答案:

答案 0 :(得分:1)

当我解读它时,Scanner类用于按行解析文件。通过将分隔符设置为空格字符“”,您会得到下一个换行符不再是分隔符的错误。因此,您将获得以下值

  • 123
  • 321个\ n456
  • 565 \ n ...
  • ... \ n789
  • 875

解决此问题的一种方法是在按行读取后分割值:

Scanner scanner = new Scanner(new File("C:/Users/msi/Documents/number.txt"));

Hashtable<String, String> numbers = new Hashtable<String, String>();

while(scanner.hasNext()) 
{
    String[] values = scanner.next().split(" ");
    numbers.put(values[0], values[1]);
    System.out.println(numbers);
}