-5

私はJavaで働いています!2 つの「Ö」でマークした部分には「no return statement」エラーが発生し、「// <----ÄÄÄ」でマークした部分では「unreachable statement」エラーが発生します。コードのその部分は、ファイルを含むディレクトリ/フォルダーを削除することになっており、実際にはそれ自体で機能します。しかし、私のコードの残りの部分でそれを動作させることはできないようです! 助けていただければ幸いです。

一般に、これはディレクトリのサイズをチェックし、ディレクトリとその内容を削除して、同じ名前の新しいディレクトリを作成するプログラムです。

$package delete.file.or.dir;

import java.io.*;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;


public class DeleteFileOrDir{




public static void main (String [] args){


// The directory in question

    File file = new File("C://123");

     long fileSize = file.length();

 System.out.println("File size in bytes is: " + fileSize);
 System.out.println("File size in KB is : " + (double)fileSize/1024);
 System.out.println("File size in MB is :" + (double)fileSize/(1024*1024));


  //Bad yes no statement

 JOptionPane pane = new JOptionPane(
    "Y=Yes\nN=No");
Object[] options = new String[] { "Y", "N" };
pane.setOptions(options);
JDialog dialog = pane.createDialog(new JFrame(), "Dilaog");
dialog.show();
Object obj = pane.getValue(); 
int result = -1;
for (int k = 0; k < options.length; k++)
  if (options[k].equals(obj))
    result = k;
System.out.println("User's choice: " + result);



 //Delete Directory with files

    deleteDirectory(new File("C://123"));
}

    //The first line of text just below is the first problem Ö

static public boolean deleteDirectory(File path) {
if( path.exists() ) {
  File[] files = path.listFiles();
  for(int i=0; i<files.length; i++) {
     if(files[i].isDirectory()) {
       deleteDirectory(files[i]);
     }
     else {
       files[i].delete();
     }
  }
}
return( path.delete() );



    File dir= new File("C://123");           // This gives me "unreachable statament Ä"

    boolean isDirectoryCreated = dir.mkdir();

    if(isDirectoryCreated)
        System.out.println("Reset");
    else
        System.out.println("Error");

}

}
4

1 に答える 1

6

そのコードの前にすでに return ステートメントが実行されているため

return( path.delete() );
于 2012-11-26T22:25:32.103 に答える