读取用户提供的文本文件

时间:2014-10-30 22:46:26

标签: java filereader

所以我知道如何获取文本文件给出的整数并将它们转换为数组,但我希望用户能够输入文件名。这就是我所拥有的:

Scanner scanner = new Scanner(new File("grades.txt"));
int [] tall = new int [100];
int i = 0;
while(scanner.hasNextInt()){
tall[i++] = scanner.nextInt();
}

除了文本文件可以是用户输入的任何文本文件,而不仅仅是grades.txt。

抱歉,java:/

不是很好

2 个答案:

答案 0 :(得分:0)

System.out.println("Please enter the file name:");
Scanner sc = new Scanner(System.in);
String file = sc.nextLine();

Scanner scanner = new Scanner(new File(file));
int [] tall = new int [100];
int i = 0;
while(scanner.hasNextInt()){
tall[i++] = scanner.nextInt();
}

未经测试,但这是您要找的吗?您可以使用System.in从控制台获取输入。

答案 1 :(得分:0)

所以你希望用户能够输入加载文件的名称,这很容易做到:

首先,从用户处获取文件并将其存储在字符串

Scanner input = new Scanner(System.in);
string fileName = input.nextLine();

然后,您可以立即使用它,或者进行一些检查以确保它以.txt结尾

while (!fileName.matches(".*\\.txt"))
{
    System.out.print("Please enter a .txt file: ");
    fileName = input.nextLine();
}

获得文件名后,只需用它代替硬编码" grades.txt"在你的代码中:

Scanner scanner = new Scanner(new File(fileName));