-2

削除する必要があるフォルダーは、プログラムから作成されたフォルダーです。ディレクトリはすべてのPCで同じではないため、使用しているフォルダーコードは

userprofile+"\\Downloads\\Software_Tokens"

ファイルがあるので、再帰的に削除する必要があると思います。ここでそのサンプルをいくつか見ましたが、私のパスを受け入れません。コードを追加したため、パスは環境変数としてコードで正常に機能します

static String userprofile = System.getenv("USERPROFILE");

誰かが私のパスを差し込んだコードを見せてもらえますか?

4

2 に答える 2

1

ディレクトリが空でない場合は、Apache Commons IO APIのメソッドdeleteDirectory(File file)を使用できます。

String toDelete = userprofile + File.separator + "Downloads" + 
        File.separator + "Software_Tokens";
FileUtils.deleteDirectory(new File(toDelete));

システムに依存する/またはに注意して、代わりに使用してください。\File.separator

于 2012-06-27T07:34:03.050 に答える
0

apache ライブラリを使いたくないなら!再帰的に行うことができます。

  String directory = userprofile + File.separator + "Downloads" + File.separator + "Software_Tokens";
  if (!directory.exists()) {
      System.out.println("Directory does not exist.");
      System.exit(0);
  } else {
      try {
          delete(directory);
      } catch (IOException e) {
          e.printStackTrace();
          System.exit(0);
      }
  }
  System.out.println("Done");
  }
  public static void delete(File file)
   throws IOException {
      if (file.isDirectory()) {
          //directory is empty, then delete it
          if (file.list().length == 0) {
              file.delete();
              System.out.println("Directory is deleted : " + file.getAbsolutePath());
          } else {
              //list all the directory contents
              String files[] = file.list();
              for (String temp: files) {
                  //construct the file structure
                  File fileDelete = new File(file, temp);

                  //recursive delete
                  delete(fileDelete);
              }
              //check the directory again, if empty then delete it
              if (file.list().length == 0) {
                  file.delete();
                  System.out.println("Directory is deleted : " + file.getAbsolutePath());
              }
          }
      } else {
          //if file, then delete it
          file.delete();
          System.out.println("File is deleted : " + file.getAbsolutePath());
      }
于 2012-06-27T08:18:23.433 に答える