java IO整理-File

File类

      File 类是jam-io 包下代表与平台无关的文件和目录,也就是说如果希望在程序中操作文件和目录都可以通过File 类来完成,值得指出的是不管是文件、还是目录都是使用File 来操作的, File 能新建、删除和重命名文件和目录, File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。

    通过File类可以很方便的操纵文件夹和文件,下面是我写的一个递归程序,能够按层次打印出文件夹的内容,并且通过文件过滤器只输出目录和.exe文件。

package File;

import java.io.File;
import java.io.FileFilter;

public class FileTest {

	public static void main(String[] args) {

		File file = new File("D:\\MyDrivers");

		process(file, 0);

	}

	public static void process(File file, int level) {
		if (file.isFile()) {
			for (int i = 0; i < level; i++)
				System.out.print("\t");
			System.out.println("* " + file.getName());
		} else if (file.isDirectory()) {
			for (int i = 0; i < level; i++)
				System.out.print("\t");
			System.out.println(file.getName());
			for (File singleFile : file.listFiles(new FileFilter() {

				@Override
				public boolean accept(File pathname) {
					// TODO Auto-generated method stub
					return pathname.getName().endsWith(".exe")
							| pathname.isDirectory();
				}
			})) {
				process(singleFile, level + 1);
			}
		}
	}

}

 

 

下面是程序运行的结果:

 

MyDrivers
	backup
	hotfix
	software
	update
		* broadcom_netxtreme_14603_32.exe
		* DELL_E177FPb_XP_drv.exe
		* directx_Jun2010_redist.exe
		* Intel_multi-device_A06_R296582.exe
		* intel_sm_9111016.exe
		* WDM_R265.exe

 

posted @ 2014-06-26 21:07  jdflyfly  阅读(155)  评论(0编辑  收藏  举报