削除前にフォルダーが存在するかどうかを確認する if ステートメントを追加するのに苦労しています。存在しない場合は、実行しようとしません。私は別のクラスでクラスを使用しているため、現時点では、フォルダーが存在しないためにこれが失敗すると、メインクラスが実行していることを停止します。複数の拡張を行うことができればボーナスポイント。
public class cleardiroftxt {
static String userprofile = System.getenv("USERPROFILE");
private static final String FILE_DIR = userprofile+"\\Downloads\\Software_Tokens";
private static final String FILE_TEXT_EXT = ".txt";
public static void run(String args[]) {
new cleardiroftxt().deleteFile(FILE_DIR,FILE_TEXT_EXT);
}
public void deleteFile(String folder, String ext){
GenericExtFilter filter = new GenericExtFilter(ext);
File dir = new File(folder);
//list out all the file name with .txt extension
String[] list = dir.list(filter);
if (list.length == 0) return;
File fileDelete;
for (String file : list){
String temp = new StringBuffer(FILE_DIR)
.append(File.separator)
.append(file).toString();
fileDelete = new File(temp);
boolean isdeleted = fileDelete.delete();
System.out.println("file : " + temp + " is deleted : " + isdeleted);
}
}
//inner class, generic extension filter
public class GenericExtFilter implements FilenameFilter {
private String ext;
public GenericExtFilter(String ext) {
this.ext = ext;
}
public boolean accept(File dir, String name) {
return (name.endsWith(ext));
}
}
}
必要な場合は、ここで呼び出します
public void actionPerformed(ActionEvent e){
JButton clickedButton = (JButton) e.getSource();
// JOptionPane.showMessageDialog(null, clickedButton.getText() + " clicked");
cleardir.run(null);
cleardiroftxt.run(null);
Unzip.run(null);
//when we click the ok button... then
if(clickedButton == btnOk){
JOptionPane.showMessageDialog(null, clickedButton.getText() + " clicked");
String cboString = (String) cboSequence.getSelectedItem();
/* we have to check if user have entered any value, is the chosen digit is NOT NONE.
* the ComboBox selection is NOT "None"
*/
if(cboString.equals("None") == false){
String temp = txtSequence.getText();
// then it has to be have some value for the textfield
if(temp.equals("") || temp == null){
JOptionPane.showMessageDialog(null, "Oops... Please fill up the sequence number field");
txtSequence.grabFocus();
//something to highlight the field in future?
return;
}
}
JOptionPane.showMessageDialog(null, "rename invoked");
renameFile();
}