gpt4 book ai didi

java - 允许用户将 "user"目录输入到 .jar 安装程序中

转载 作者:行者123 更新时间:2023-12-01 13:56:32 24 4
gpt4 key购买 nike

public static void moveSQLite(){
File source = new File("C:\\Users\\520\\Desktop\\System.Data.SQLite"); // Specify initial path
File target = new File("C:\\Windows\\Microsoft.NET\\assembly\\GAC_64"); // Desired path

// If the source location exists, delete the any old source files
// and copy the entire directory of the source to the target location
if(source.exists()){
System.out.println("Installing SQLite Database.");
try {
FileUtils.deleteDirectory(target);
System.out.println("Deleting previous versions of System.Data.SQLite");
System.out.println("\"" + source + "\"" + " was successfully"
+ " copied to " + "\"" + target + "\"");
FileUtils.copyDirectory(source, target);
System.out.println("SQLite database has been installed.");
}catch (IOException e) {
e.printStackTrace();
}
// Otherwise prompt the user that the source directory does not exist
}else{
System.out.println("SQLite not found - are you sure you have it in the right directory?");
}
}

上面是我的安装程序中使用的多种方法之一的摘录(基本上将文件拖放到用户计算机中的特定位置)。在命令行中,或者最好在用户界面中,我想允许用户输入他们的“源”目录,也就是说,在本例中,我的“用户”目录是520,但对于其他用户来说,可能是不同的。我可以用星号替换它,让 Windows 自己找出目录,还是必须对目录进行硬编码?任何有软件开发经验的人请输入您的答案 - 谢谢。

最佳答案

Can I replace that with an asterix allowing Windows to figure out the directory itself, or do I have to have the directory hard coded?

如果您希望任何系统为自己计算用户目录(不仅仅是 Windows,而是任何系统),您可以使用

String homeDirectory=System.getProperty("user.home");

然后,您可以在用户的​​主目录中创建自己的文件结构但是请注意使用“foo\bar”,因为“\”不是通用的,并且不适用于所有情况系统。然而,java 再次通过另一个系统属性来拯救

String PATHSEPERATOR=System.getProperty("file.separator");

然后使用类似:

homeDirectory=homeDirectory+"foo"+PATHSEPERATOR+"bar";

然后您可以使用它来创建 File 对象

File homeDirectoryAsFile = new File(homeDirectory); 

关于java - 允许用户将 "user"目录输入到 .jar 安装程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19594916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com