Java свинг две кнопки связи - PullRequest
0 голосов
/ 04 июля 2019

В моем приложении Swing мне нужно выбрать файл. И затем скомпилировать этот файл в терминале. Но перед компиляцией я хочу удалить, если в каталоге выбранного файла присутствуют другие файлы.У меня есть путь к файлу, но мне нужен путь к родительской папке, чтобы проверить другие файлы.

load.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
        JFileChooser j = new JFileChooser(FileSystemView.getFileSystemView().getHomeDirectory()); 
        int r = j.showSaveDialog(null); 
        if (r == JFileChooser.APPROVE_OPTION) { 
            l.setText("File Ready"); 
            File selectedFile = j.getSelectedFile(); 
            path=selectedFile.getAbsolutePath(); 
        } else 
            l.setText("the user cancelled the operation"); 
    } 
}); 
compile.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
        Runtime rt = Runtime.getRuntime(); 
        Process proc = null; 
        BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream())); 
        BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream())); 
        String s = null; 
        StringBuilder builder = new StringBuilder(); 
        File folder = new File(path); 
       for (File f : folder.listFiles()) {
                if (f.getName().endsWith(".txt")) {
                    f.delete(); 
    }
});

1 Ответ

0 голосов
/ 04 июля 2019

Что ж, в этой части вы делаете ошибку

 File folder = new File(path); 
       for (File f : folder.listFiles()) {
                if (f.getName().endsWith(".txt")) {
                    f.delete(); 

Строка File folder = new File(path); даст ссылку на файл, а не на папку. Так что если вы перечислите другие файлы в пути, ничего не будет,

Измените его на File folder = new File(path).getParentFile(); У вас есть родительская папка.Теперь перечислите и удалите необходимые файлы.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...