我想在用户提示输入文件时打开X个文件。如果用户决定打开file1,则只显示file1。如果file3是提示符,则会显示file1到file3等等。我该怎么做呢?
System.out.print("Pick a file to open:");
String promptFile = keyboard.nextLine();
Scanner fileNumber = new Scanner(new File(promptFile ));
答案 0 :(得分:0)
您可以将文件名存储在字符串数组中:
String [] filenames = {"file1", "file2", "file3"} //etc
然后你只需要运行一个循环变量从1到promptFile
的循环,然后在循环内你必须通过filenames
的每个成员并打开它以显示。
答案 1 :(得分:0)
这是执行您要求的简单程序
String dir = ".";
File directory = new File(dir);
Map<Integer, String> map = new HashMap<>();
int count = 0;
for (File f : directory.listFiles()) {
if (f.isFile())
map.put(count++, f.getName());
}
System.out.println("Index -> Files");
for (Map.Entry<Integer, String> e : map.entrySet()) {
System.out.println(e.getKey() + " -> " + e.getValue());
}
System.out.print("Enter index to open file ");
Scanner scanner = new Scanner(System.in);
int fileIndex = scanner.nextInt();
scanner.close();
String fileName = map.get(fileIndex);
BufferedReader br = new BufferedReader(new FileReader(fileName));
String str = null;
while ((str = br.readLine()) != null) {
System.out.println(str);
}
br.close();
您可以添加循环以从用户获取输入并在目录中显示其他文件,添加条件以避免Exception
s