java判断目录是否存在

2025-04-20 12:09:57
推荐回答(4个)
回答1:

String filePath = "f:\test"
File file = new File(filePath);
if(file.isDirectory()){ //必须先判断这是不是一个目录,如果是,再判断它存不存在(具体方法名称, //可能有些忘了,类似)
if(file.exists()){
System.out.print("该目录存在");
}
}

回答2:

用File类的exists()方法:
File file = new File("C:\Windows");
System.out.print(file.exists());
//存在输出true,不存在输出false
java.io.File.exists() 方法测试此抽象路径名定义的文件或目录是否存在。

回答3:

复制下面那段代码既可以
/**

*
* For files not on the acl.read or acl.write list, applets cannot
*
* 1 - check for the existence of the file
* 2 - check the file type
* 3 - check if the file is a directory
* 4 - check the timestamp when the file was last modified
* 5 - check the file's size
* 6 - create a directory
* 7 - rename the file
* 8 - list the files in this file (as if it were a directory)
* 9 - check read
* 10 - check write
*
* Before:
* Assumes /var/mail/root is a file
* Assumes there isn't a directory named /var/mail/testdir
*
* After:
* The directory /var/mail/testdir may have been created,
* if you ran this test from the appletviewer with /var/mail
* on your acl.write list. If that's the case, then you
* should manually delete the test directory /var/mail/testdir
* before running this test again.
*
* @version JDK 1.0 beta
* @author Marianne Mueller
*/

import java.awt.*;
import java.io.*;
import java.lang.*;
import java.applet.*;

public class fileInfo extends Applet {
String myFile = "/var/mail/root";
File f = new File(myFile);
long n;
int y = 10;
int spacing = 17;

// The paint routine drives the 8 above tests
public void paint(Graphics g) {
try {
if (f.exists())
g.drawString("1. Success on File.exists", 10, y);
}
catch (SecurityException e) {
g.drawString("1. Caught security exception on File.exists", 10, y);
}
y = y + spacing;
try {
if (f.isFile())
g.drawString("2. Success on File.type", 10, y);
}
catch (SecurityException e) {
g.drawString("2. Caught security exception on File.isFile", 10, y);
}
y = y + spacing;
try {
File isd = new File("/var/mail");
if (isd.isDirectory())
g.drawString("3. Success on IsDirectory", 10, y);
}
catch (SecurityException e) {
g.drawString("3. Caught security exception on File.isDirectory", 10, y);
}
y = y + spacing;
try {
n = f.lastModified();
g.drawString("4. Success on timestamp: " + n, 10, y);
}
catch (SecurityException e) {
g.drawString("4. Caught security exception on File.lastModified", 10, y);
}
y = y + spacing;
try {
n = f.length();
g.drawString("5. Success on File.length: " + n, 10, y);
}
catch (SecurityException e) {
g.drawString("5. Caught security exception on File.length", 10, y);
}
y = y + spacing;
try {
File td = new File("/var/mail/testdir");
if (td.mkdir())
g.drawString("6. Success on mkdir", 10, y);
}
catch (SecurityException e) {
g.drawString("6. Caught security exception on File.mkdir", 10, y);
}
y = y + spacing;
try {
File nf = new File("/var/mail/bar");
f.renameTo(nf);
g.drawString("7. Success on File.renameTo " + nf.toString(), 10, y);
nf.renameTo(f);
}
catch (SecurityException e) {
g.drawString("7. Caught security exception on File.renameTo", 10, y);
}
y = y + spacing;
try {
File d = new File("/var/mail");
String files[] = null;
files = d.list();
g.drawString("8. Success on File.list, found " + files.length + " files in " + d.toString(), 10, y);
/* for (int i = 0; i < files.length; i++) {
y = y + spacing;
g.drawString(files[i], 10, y);
}*/
}
catch (SecurityException e) {
g.drawString("8. Caught security exception on File.list", 10, y);
}
y = y + spacing;
try {
if (f.canWrite())
g.drawString("9. Success on File.canWrite()", 10, y);
} catch (SecurityException e) {
g.drawString("9. Caught security exception on File.canWrite", 10, y);
}
y = y + spacing;
try {
if (f.canRead())
g.drawString("10. Success on File.canRead()", 10, y);
} catch (SecurityException e) {
g.drawString("10. Caught security exception on File.canRead", 10, y);
}
}
}

回答4:

String path = "d:\test";
File file = new File(path);
if(file.exists()){ ... }

如果你想判断是否是目录,用 file.isDirectory()