0

我正在尝试将文本文件中的数字分配给哈希表第一个数字作为键,第二个数字作为值,文本文件看起来像第一行(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);
}
4

1 回答 1

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);
}
于 2012-12-16T20:35:25.933 回答