创建.jar,读取用户给出的多个文件

时间:2018-03-15 20:21:15

标签: java executable-jar

我正在尝试制作单个.jar可执行文件,该文件读取.txt文件并打印一些值。 我的问题是我不想在制作.jar之前指定.txt文件名,我想将.jar传递给用户,每次运行.jar之前,他都会指定所需的.txt文件到请阅读。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

您可以从传递给Main方法的String数组中获取命令行参数。

public static void main(String[] args) {

    if (args.length <= 0) {
        System.out.println("No arguments specified");
        return;
    }

    String filename = args[0];

    if (filename.trim().length() <= 0) {
        System.out.println("Filename is empty");
        return;
    }

    File file = new File(filename);

    if (!file.exists()) {
        System.out.println("File doesn't exist");
        return
    }

    // Do what you want with the file here
}

如果您需要多个文件,可以通过将每个命令行参数分解为另一个文件来实现此目的

public static void main(String[] args) {

    if (args.length <= 0) {
        System.out.println("No arguments specified");
        return;
    }

    List<File> files = new ArrayList<>();

    for (String filename : args) {

        File file = new File(filename);

        if (!file.exists()) {
            System.out.println("File doesn't exist");
            continue;
        }

        files.add(file);
    }

    // Do what you want with your list of files here
}

答案 1 :(得分:-1)

您可以让用户插入文件名,程序会将其添加到搜索路径中:&#34; C:\&#34; + textname