在我的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();
}
});
答案 0 :(得分:0)
在这部分您犯了一个错误
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();
您具有父文件夹。现在列出并删除所需的文件。
希望这会有所帮助!