在Java中的用户目录上创建文件

时间:2017-12-02 11:24:23

标签: java

我的代码发布在下面。让我们说我的用户名是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.");
    }

1 个答案:

答案 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