我正在尝试制作单个.jar可执行文件,该文件读取.txt文件并打印一些值。 我的问题是我不想在制作.jar之前指定.txt文件名,我想将.jar传递给用户,每次运行.jar之前,他都会指定所需的.txt文件到请阅读。
有没有办法做到这一点?
答案 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