0

コンテンツをファイルに保存しようとしていますが、最初にファイルが存在するかどうかを検索したいと思います。しかし、私が書いたコードは、毎回 true を返します。

String fileName=FNameTextField.getText();

File file=new File(fileName);

if(file.exists()&& !file.isDirectory()) {
    // It returns true if File or directory does exist
    System.out.println("the file or directory  you are searching does  exist : " );

}else{
    // It returns true if File or directory not exists
    System.out.println("the file or directory you are searching does not  exist : " );
}

ありがとう。

4

5 に答える 5

1

あなたの論理はすべておかしなことのようです、または少なくとも私はそれの頭も尻尾も作ることができません

if (file.exists()) {
   if (file.isDirectory) {
        System.out.println("Directory already exists");
   } else {
        System.out.println("File exists");
   }
} else {
   System.out.println("Could not find a file or directory matching your request");
}
于 2012-08-04T05:49:27.100 に答える
0

1.まず、フォルダ内のすべてのファイルを取得し、に保存ArrayListします。

例えば:

   File f = new File("d:\\MyFolder);

   File[] fArr = f.listFiles();

   ArrayList<File> fList = new ArrayList<File>();

   for ( File file : fArr){

         if (file.isFile()){

                fList.add(file);

           }else{

                continue;

            }

   }

2.ここで、getName()メソッドを使用してファイルが存在するかどうかを確認します...。

次の名前のファイルを探していると仮定します"vivek.txt"

例えば:

ブールb=false;

for (File i : fList){


   if ((i.getName).equals("vivek.txt")){


           b = true;
           break;


       }

   else{

               continue;
      }



   }
于 2012-08-04T06:08:56.427 に答える
0

メソッドを使用してみてください...

file.isFile()

javadocは言う

この抽象パス名が示すファイルが通常のファイルかどうかをテストします。ファイルがディレクトリではなく、さらにシステムに依存するその他の基準を満たしている場合、そのファイルは正常です。Java アプリケーションによって作成されたディレクトリ以外のファイルは、通常のファイルであることが保証されています。

于 2012-08-04T05:28:25.093 に答える
0

あなたのロジックは、それがファイルであるかどうかのみを確認するかどうかをチェックします。printステートメントで暗示する名前のディレクトリが存在する場合、trueは返されません。

于 2012-08-04T05:31:10.187 に答える
0

あなたのために採用されているこの例を利用してください:

File f = new File(filePathString);
if(f.exists()) { /* do something */ }


         (or)

import java.io.*;

public class FileChecker {

  public static void main(String args[]) {

      File f = new File("c:\\mkyong.txt");

      if(f.exists()){
          System.out.println("File existed");
      }else{
          System.out.println("File not found!");
      }

  }

} 

               (or)

import java.io.*;

public class FileOrDirectoryExists{
  public static void main(String args[]){
  File file=new File("Any file name or 
   directory whether exists or not");
  boolean exists = file.exists();
  if (!exists) {
  // It returns false if File or directory does not exist
  System.out.println("the file or directory 
  you are searching does not exist : " + exists);

  }else{
  // It returns true if File or directory exists
  System.out.println("the file or 
  directory you are searching does exist : " + exists);
  }
  }
}
于 2012-08-04T05:36:07.207 に答える