我有一个程序,其中包含以下代码行:
//String s = fileName;
File location = new File(s);
然后我
//String contents = whatIWantToPrint;
OutputStream print = new FileOutputStream(location);
print.write(contents.getBytes());
print.close();
告诉程序将字符串内容打印到文件s。但是,该文件出现在程序所在的文件夹中,而不是程序所在的目录中。例如,如果程序在人员桌面上,我希望它在桌面上制作文件。
我在终端中使用了以下行来使程序成为jar文件(mac):
jar -cvmf manifest.txt Generate.jar *.class
有人告诉我这样做:
String dir = System.getProperty("home.dir"+"/Desktop");
String filePath = dir + File.separator + ss + ".txt";
File location = new File(filePath);
但我不确定这是否会使程序在桌面上创建文件,它也会引发安全异常,因此它无法正常工作
答案 0 :(得分:0)
你可以试试这个
String DEFAULT_USER_DIR = System
.getProperty("user.home"+"/Desktop");
File location = new File(DEFAULT_USER_DIR);
user.dir returns User's current working directory
请在此处查看javadoc。
答案 1 :(得分:0)
你应该这样做:
String s= System.getProperty("user.home");
并追加路径分隔符和文件名
String filePath = s + File.separator + "desktop" + File.separator + "myFile.txt";