Java 将数字从文本文件分配到哈希表

Java 将数字从文本文件分配到哈希表,java,hashtable,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> nu

我试图将数字从文本文件分配到哈希表,第一个数字作为键,第二个数字作为值,文本文件看起来像第一行(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);
}
Scanner Scanner=new Scanner(新文件(“C:/Users/msi/Documents/number.txt”);
scanner.useDelimiter(“”);
哈希表编号=新哈希表();
while(scanner.hasNext())
{
number.put(scanner.next(),scanner.next());
系统输出打印项次(数字);
}

当我理解它时,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);
}
Scanner Scanner=new Scanner(新文件(“C:/Users/msi/Documents/number.txt”);
哈希表编号=新哈希表();
while(scanner.hasNext())
{
字符串[]值=scanner.next().split(“”);
数字。put(值[0],值[1]);
系统输出打印项次(数字);
}

您会遇到什么错误?