我知道使用像C#这样的.NET语言,可以做类似的事情
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
Run Code Online (Sandbox Code Playgroud)
找到桌面的重定向位置.但是,在Java下,我想不出一个好方法.在不使用JNI的情况下,从Java查找重定向用户桌面目录的最合适方法是什么?此处的特定目的是为了管理桌面快捷方式(如果用户需要),用于Java Web Start应用程序.
此应用程序需要写入"应用程序数据"树以及可选地写入桌面.%APPDATA%即使在重定向文件夹时,我也会假设始终正确填充,以查找"应用程序数据"树.所以我的开放性问题是如何可靠地找到Desktop文件夹.
注意:我认为Java系统属性${user.home}实际上(并且错误地)通过注册表项找到用户的Desktop目录,然后尝试向上导航一个目录以找到"home"目录.当没有重定向目录时,这可以正常工作,否则可能会或可能不会返回有用的内容.
我想知道如何让java保存一个名为hello.txt桌面的文本文件,而无需编写
"C:\\Users\\Austin\\Desktop"
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒.所以喜欢:
FileWriter fileWriter = new FileWriter(fileName.getText(), true);
Run Code Online (Sandbox Code Playgroud)
..这fileName.getText()就是'你好'.
更新:我认为我将能够使用jfilechooser,所以这会工作吗?
JFileChooser chooser = new JFileChooser();
chooser.setVisible(true);
Run Code Online (Sandbox Code Playgroud)
那会有用吗?如果是这样,我如何使用那里的选择来保存文件?我是一个菜鸟.... :(
我想将JFileChooser开始目录更改为桌面.所以,在我的电脑里我写道:
JFileChooser fc = new JFileChooser("C:\\Users\\LNK\\Desktop");
Run Code Online (Sandbox Code Playgroud)
问题是,当我编译我的代码并在另一台计算机上运行程序时,它不起作用,因为没有C:\\Users\\LNK\\Desktop路径.那么,是否存在某种桌面的"apsolute"路径?
我是第一次使用File类,我有点困惑.
我写了这个基本代码,看看我的桌面上是否有文件被检测到:
public static void main(String[]args){
File test= new File("abc.pdf");
if(test.exists()==true){
System.out.println("got it!");
}
else{System.out.println("try again");}
}
Run Code Online (Sandbox Code Playgroud)
我知道我错过了一大步,因为程序似乎无法检测到它.谁能告诉我还有什么我需要查询的?谢谢.
我想将结果写入用户的桌面而不是与我正在运行的文件类相同的目录.
我正在使用Mac OS ..在Window中怎么样?1
谢谢