繁体   English   中英

如何在不对目录进行硬编码的情况下将某些内容保存到桌面?

[英]How to save something to the desktop without hard-coding the directory?

我想知道如何让java在没有写入的情况下将名为hello.txt的文本文件保存到桌面

"C:\\Users\\Austin\\Desktop"

任何帮助都会很棒。 所以喜欢:

FileWriter fileWriter = new FileWriter(fileName.getText(), true);

..而fileName.getText()就是'你好'。

更新:我认为我将能够使用jfilechooser,所以这会工作吗?

JFileChooser chooser = new JFileChooser();
chooser.setVisible(true);

那会有用吗? 如果是这样,我如何使用那里的选择来保存文件? 我是一个菜鸟.... :(

import java.io.File;

class FindDesktopOnWindows {

    public static void main(String[] args) throws Exception {
        if (System.getProperty("os.name").toLowerCase().indexOf("win")<0) {
            System.err.println("Sorry, Windows only!");
            System.exit(1);
        }
        File desktopDir = new File(System.getProperty("user.home"), "Desktop");
        System.out.println(desktopDir.getPath() + " " + desktopDir.exists());

        java.awt.Desktop.getDesktop().open(desktopDir);
    }
}

我忘了不同的Locales。 非常脆弱的代码 (即使是针对特定操作系统的代码)。 请参阅下面的评论。 OS X / JFileChooser

..how (System.getProperty("user.home"), "Desktop")工作..

Oracle为这类事情提供了有用的文档。

请参见System.getProperty(String)new File(String,String)


我将放弃对此的专家(或用户),但我不认为OS X直接在..start屏幕上支持任何应用程序图标或文档图标,默认外观,等等。可能更好地提供结束用户指向user.homeJFileChooser并要求他们将文档保存到桌面(或他们想要的任何地方)。

这会指向桌面目录:

javax.swing.filechooser.FileSystemView.getFileSystemView().getHomeDirectory()

User.home工作,但只是硬编码目录应该没问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM