2017-03-07 9 views
2

ファイルやディレクトリを削除するGUIの例を作成しようとしています。ユーザーがボタンをクリックしたときに、 、作るためにどのようにそれは実際にこのファイルを永久に削除するのではなく、Javaでファイル/ディレクトリをリサイクルする方法

if (File_path.getText().isEmpty()) { 
     JOptionPane.showMessageDialog(null, "Please select a file or directory", "Info", JOptionPane.INFORMATION_MESSAGE); 
    } else { 
     File FileName = new File(File_path.getText()); 
     boolean FileDeleted = FileName.delete(); 
     if (FileDeleted == true) { 
      JOptionPane.showMessageDialog(null, "File Deleted Successfully", "Info", JOptionPane.INFORMATION_MESSAGE); 
     } else { 
      JOptionPane.showMessageDialog(null, "File Not Found", "Info", JOptionPane.INFORMATION_MESSAGE); 
     } 
    } 
+0

@Eugene:

もう一つの方法はcom.sun.jna.platform.FileUtils;

サンプル・コードを使用することです! –

+0

@DrMido編集を確認してください:) – minigeek

+1

[Java 9まで](https://docs.oracle.com/javase/9​​/docs/api/java/awt/Desktop.html#moveToTrash-java)まで行ってください。 io.File-)... – Holger

答えて

1

の代わりにビンをリサイクルするために移動し、それは開発者がビン機能をリサイクルする動きが追加され、それがwon't be cross-platform-compatible場合は信じているから解雇が、無視バグです。あなたはそれについて読むことができますhere

を使用してC++:でもExternal APIsで行うことができます。 Windows SHFileOperation APIを呼び出すためにJNIの助けを借りて、フラグをSHFILEOPSTRUCT構造体に設定してください。

はここJAVAを使用してReference

です:使用[com.sun.jna.platform.win32.W32FileUtils]、定義されたmoveToTrashhasTrashメソッドを持っています。私は8年以来、この答えを見て、一つのファイルを削除することにより、長い行(約25)に混同されることがだ

import java.io.File; 
import java.io.IOException; 

import com.sun.jna.platform.FileUtils; 

public class MoveToTrash { 

    public static void main(String[] args){ 
    FileUtils fileUtils = FileUtils.getInstance(); 
    if (fileUtils.hasTrash()) { 
     try { 
      fileUtils.moveToTrash(new File[] {new File("c:/folder/abcd.txt") });     
     } 
     catch (IOException ioe) { 
      ioe.printStackTrace(); 
     } 
    } 
    else { 
     System.out.println("No Trash available"); 
    } 
} 
} 
+0

この参考資料は、JavaではなくC++で行う方法を説明しています –

+0

@DrMido Javaパーツを追加:)。あなたの質問は重複していません。これが解決策として満足すれば私に教えてください:) – minigeek

+0

minigeek私はあなたのコメントに否定的な投票をしませんでしたが、とにかくここであなたのコメントを編集できます "あなたはそれについて読むことができます"このバグのリンクを見つけることができません –

関連する問題