打开一定数量的java文件

时间:2015-10-10 03:23:15

标签: java

我想在用户提示输入文件时打开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 ));

2 个答案:

答案 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