How to make a button that, when clicked, opens the %appdata% directory?

前端 未结 3 1864
抹茶落季
抹茶落季 2020-12-20 03:25

I have made a button, but I don\'t now how to make it open a specific directory like %appdata% when the button is clicked on.

Here is the code ->

相关标签:
3条回答
  • 2020-12-20 03:46
    import java.awt.Desktop;
    import java.io.File;
    
    public class OpenAppData {
    
        public static void main(String[] args) throws Exception {
            // Horribly platform specific.
            String appData = System.getenv("APPDATA");
            File appDataDir = new File(appData);
            // Get a sub-directory named 'texture'
            File textureDir = new File(appDataDir, "texture");
            Desktop.getDesktop().open(textureDir);
        }
    }
    
    0 讨论(0)
  • 2020-12-20 03:54

    Execute a command using Runtime.exec(..). However, not every OS has the same file explorer, so you need to handle the OS.

    Windows: Explorer /select, file

    Mac: open -R file

    Linux: xdg-open file

    I wrote a FileExplorer class for the purpose of revealing files in the native file explorer, but you'll need to edit it to detect operating system. http://textu.be/6

    NOTE: This is if you wish to reveal individual files. To reveal directories, Desktop#open(File) is far simpler, as posted by Andrew Thompson.

    0 讨论(0)
  • 2020-12-20 03:59

    If you are using Windows Vista and higher, System.getenv("APPDATA"); will return you C:\Users\(username}\AppData\Roaming, so you should go one time up, and use this path for filechooser, Just a simple modified Andrew's example,

        String appData = System.getenv("APPDATA");
        File appDataDir = new File(appData); // TODO: this path should be changed! 
        JFileChooser fileChooser = new JFileChooser(appData);
        fileChooser.showOpenDialog(new JFrame());
    

    More about windows xp, and windows vista/7/8

    0 讨论(0)
提交回复
热议问题