我的代码发布在下面。让我们说我的用户名是ThisPC,如果我这样写:" C:\ Users \ ThisPC \ Desktop \ Lista Produse.txt"它按预期工作,将我的文件保存在桌面上,但是当我尝试使用%USERNAME%时,它无法正常工作。 (请记住我使用Java)提前感谢您的帮助。
try{
File f=new File("C:\\Users\\%USERNAME%\\Desktop\\List.txt");
Formatter x;
x=new Formatter("C:\\Users\\%USERNAME%\\Desktop\\List.txt");
while(enALL.hasMoreElements()){
x.format(""+enALL.nextElement());
x.format("\r\n");
}
x.close();
}
catch(FileNotFoundException e){
JFrame frame = new JFrame();
JOptionPane.showMessageDialog(frame, "Error.");
}
答案 0 :(得分:2)
您的第一个问题是Java没有理由解析您提供的路径,它不是Windows命令shell。 要获取当前用户名,请尝试
String username = System.getProperty("user.name");
并将其替换为。
但是,这仍然很危险,因为Windows上的用户目录可能位于不同的位置,或者没有完整的用户名。 见In java under Windows, how do I find a redirected Desktop folder?
有关更详细的选项,请更加可靠,请查看此How to get the Desktop path in java