我正在尝试将内容保存在文件中,但首先我要搜索任一文件是否存在。但是我写的代码,每次都返回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 : " );
}
感谢。
答案 0 :(得分: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");
}
答案 1 :(得分:0)
尝试使用方法......
file.isFile()
javadoc说
测试此抽象路径名表示的文件是否为普通文件。如果文件不是目录,则该文件是正常的,此外,它还满足其他系统相关标准。由Java应用程序创建的任何非目录文件都保证是普通文件。
答案 2 :(得分:0)
您的逻辑检查是否仅查看它是否是文件。如果您在打印语句中暗示存在名称的目录,则不会返回true。
答案 3 :(得分: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);
}
}
}
答案 4 :(得分: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"
<强>例如强>
boolean b = false;
for (File i : fList){
if ((i.getName).equals("vivek.txt")){
b = true;
break;
}
else{
continue;
}
}