递归创建目录
import java.io.File;
public class Main {
public static void main(String[] args) {
String directories = "D:\\a\\b\\c\\d\\e\\f\\g\\h\\i";
File file = new File(directories);
boolean result = file.mkdirs();
System.out.println("Status = " + result);
}
}
删除目录
import java.io.File;
public class Main {
public static void main(String[] argv) throws Exception {
deleteDir(new File("c:\\temp"));
}
public static boolean deleteDir(File dir) {
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir
(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
return dir.delete();
System.out.println("目录已被删除!");
}
}
判断目录是否为空
import java.io.File;
public class Main {
public static void main(String[] args) {
File file = new File("/data");
if (file.isDirectory()) {
String[] files = file.list();
if (files.length > 0) {
System.out.println("目录 " + file.getPath() +
" 不为空!");
}
}
}
}
判断文件是否隐藏
import java.io.File;
public class Main {
public static void main(String[] args) {
File file = new File("C:/Demo.txt");
System.out.println(file.isHidden());
}
}
获取目录大小
import java.io.File;
import org.apache.commons.io.FileUtils;
public class Main {
public static void main(String[] args) {
long size = FileUtils.sizeOfDirectory
(new File("C:/test"));
System.out.println("Size: " + size + " bytes");
}
}
在指定目录中查找文件
import java.io.File;
public class Main {
public static void main(String[] argv)
throws Exception {
File dir = new File("../java");
String[] children = dir.list();
if (children == null) {
System.out.println("该目录不存在");
}
else {
for (int i = 0; i < children.length; i++) {
String filename = children[i];
System.out.println(filename);
}
}
}
}
结果:
Car.class
FileUtil.class
FileUtil.java
HelloWorld.class
HelloWorld.java
HelloWorldDebug.class
HelloWorldDebug.java
……
获取文件的上级目录
import java.io.File;
public class Main {
public static void main(String[] args) {
File file = new File("C:/File/demo.txt");
String strParentDirectory = file.getParent();
System.out.println("文件的上级目录为 : "
+ strParentDirectory);
}
}
获取目录最后修改时间
import java.io.File;
import java.util.Date;
public class Main {
public static void main(String[] args) {
File file = new File("C://FileIO//demo.txt");
System.out.println("最后修改时间:" +
new Date(file.lastModified()));
}
}
结果:
最后修改时间:Fri Apr 10 11:09:19 CST 2015
打印目录结构
import java.io.File;
import java.io.IOException;
public class FileUtil {
public static void main(String[] a)throws IOException{
showDir(1, new File("d:\\Java"));
}
static void showDir(int indent, File file)
throws IOException {
for (int i = 0; i < indent; i++)
System.out.print('-');
System.out.println(file.getName());
if (file.isDirectory()) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++)
showDir(indent + 4, files[i]);
}
}
}
结果;
-Java
-----codes
---------string.txt
---------array.txt
-----test
遍历指定目录下的所有目录
import java.io.*;
class Main {
public static void main(String[] args) {
File dir = new File("F:");
File[] files = dir.listFiles();
FileFilter fileFilter = new FileFilter() {
public boolean accept(File file) {
return file.isDirectory();
}
};
files = dir.listFiles(fileFilter);
System.out.println(files.length);
if (files.length == 0) {
System.out.println("目录不存在或它不是一个目录");
}
else {
for (int i=0; i< files.length; i++) {
File filename = files[i];
System.out.println(filename.toString());
}
}
}
}
结果:
14
F:\C Drive Data Old HDD
F:\Desktop1
F:\harsh
F:\hharsh final
F:\hhhh
F:\mov
F:\msdownld.tmp
F:\New Folder
F:\ravi
F:\ravi3
F:\RECYCLER
F:\System Volume Information
F:\temp
F:\work
输出指定目录下的所有文件
import java.io.*;
class Main {
public static void main(String[] args) {
File dir = new File("C:");
String[] children = dir.list();
if (children == null) {
System.out.println( "目录不存在或它不是一个目录");
}
else {
for (int i=0; i< children.length; i++) {
String filename = children[i];
System.out.println(filename);
}
}
}
}
结果:
build
build.xml
destnfile
detnfile
filename
manifest.mf
nbproject
outfilename
src
srcfile
test
在指定目录中查找文件
import java.io.*;
class Main {
public static void main(String[] args) {
File dir = new File("C:");
FilenameFilter filter = new FilenameFilter() {
public boolean accept
(File dir, String name) {
return name.startsWith("b");
}
};
String[] children = dir.list(filter);
if (children == null) {
System.out.println("目录不存在或它不是一个目录");
}
else {
for (int i=0; i < children.length; i++) {
String filename = children[i];
System.out.println(filename);
}
}
}
}
结果:
build
build.xml
查看系统根目录
import java.io.*;
class Main{
public static void main(String[] args){
File[] roots = File.listRoots();
System.out.println("系统所有根目录:");
for (int i=0; i < roots.length; i++) {
System.out.println(roots[i].toString());
}
}
}
结果:
系统所有根目录:
C:\
D:\
E:\
F:\
G:\
H:\
查看当前工作目录
class Main {
public static void main(String[] args) {
String curDir = System.getProperty("user.dir");
System.out.println("你当前的工作目录为 :" + curDir);
}
}
结果:
你当前的工作目录为 :/www/java
遍历目录
import java.io.File;
public class Main {
public static void main(String[] argv)
throws Exception {
System.out.println("遍历目录");
File dir = new File("/www/java"); //要遍历的目录
visitAllDirsAndFiles(dir);
}
public static void visitAllDirsAndFiles(File dir) {
System.out.println(dir);
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
visitAllDirsAndFiles
(new File(dir, children[i]));
}
}
}
}
结果:
遍历目录
/www/java
/www/java/Car.class
/www/java/FileUtil.class
/www/java/FileUtil.java
/www/java/HelloWorld.class
/www/java/HelloWorld.java
/www/java/HelloWorldDebug.class
/www/java/HelloWorldDebug.java
/www/java/Main$1.class
/www/java/Main.class
/www/java/Main.java
/www/java/MainClass.class
/www/java/MainClass.java
/www/java/MyClass.class
/www/java/outfilename
/www/java/test.log

被折叠的 条评论
为什么被折叠?



