将文件保存到特定路径(Java)
当我将其作为jar运行时,这个.properties文件是在桌面上创建的。为了保持整洁,我如何设置将此文件保存到其他位置(如文件夹)的路径?甚至罐子本身,但我很难让它工作。我打算把这个给别人,不希望他们的桌面被.properties文件弄得乱七八糟将文件保存到特定路径(Java),java,file,path,save,store,Java,File,Path,Save,Store,当我将其作为jar运行时,这个.properties文件是在桌面上创建的。为了保持整洁,我如何设置将此文件保存到其他位置(如文件夹)的路径?甚至罐子本身,但我很难让它工作。我打算把这个给别人,不希望他们的桌面被.properties文件弄得乱七八糟 import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Properties; publi
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Properties;
public class DataFile {
public static void main(String[] args) {
Properties prop = new Properties();
OutputStream output = null;
try {
output = new FileOutputStream("config.properties");
prop.setProperty("prop1", "000");
prop.setProperty("prop2", "000");
prop.setProperty("prop3", "000");
prop.store(output, null);
} catch (IOException io) {
io.printStackTrace();
} finally {
if (output != null) {
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
由于使用的文件名没有路径,因此创建的文件以CWD结尾。这是进程从操作系统继承的当前工作目录。 也就是说,您从桌面目录执行jar文件。使用相对路径的任何文件都将在桌面或其任何子目录中结束 要控制文件的绝对位置,必须使用绝对路径。 绝对路径始终以斜杠“/”开头 绝对路径:
/etc/config.properties
相对路径:
sub_dir/config.properties
最简单的方法是将一些路径硬编码到文件路径字符串中
output=newfileoutputstream/etc/config.properties
当然,您可以在属性中设置路径,您可以使用命令行传递该路径,而不是对其进行硬编码。用户可以将路径名和文件名放在一起
String path = "/etc";
String full_path = "/etc" + "/" + "config.properties";
output = new FileOutputStream(full_path);
请注意,java中的windows路径使用正斜杠而不是反斜杠。
查看此项了解更多详细信息
这是干什么用的?也许属性文件更合适?我只是用它来存储用户输入的一些信息,以便下次运行程序时不会删除这些信息。您有两个选择,更改启动程序的链接的起始引用或指定绝对路径引用