`

Java IO-File

    博客分类:
  • J2SE
阅读更多
列出指定目录下的全部文件
package com.zzh.io;

import java.io.File;

public class ListFiles {

	public static void main(String[] args) {
		File file = new File("D:" + File.separator);
		print(file);
	}
	
	/**
	 * 列出指定目录下的全部文件
	 */
	private static void print(File file){
		if (file != null) {
			if (file.isDirectory()) {
				File[] subFiles = file.listFiles();
				//这一步判断是必要的,避免访问某些不能访问的文件,导致报空指针错
				if (subFiles != null) {
					for (File f : subFiles) {
						print(f);//递归
					}
				}				
			} else {
				System.out.println(file.getPath());
			}
		}
	}

}


5个列出文件列表的方法
package com.zzh.io;

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

public class ListFilesAndList {

	public static void main(String[] args) {
		File file = new File("D:" + File.separator);
		
		list(file);
		listWithFileNameFilter(file);
		
		listFiles(file);
		listFilesWithFileNameFilter(file);
		listFilesWithFileFilter(file);
	}

	/**
	 * 列出的是String[] files,只是文件名
	 */
	private static void list(File file) {
		String[] files = file.list();
		for (String f : files) {
			System.out.println(f);
		}
	}
	

	/**
	 * 列出的是String[] files,只是文件名,并使用FilenameFilter过滤
	 */
	private static void listWithFileNameFilter(File file) {
		String[] files = file.list(new FilenameFilter() {			
			@Override
			public boolean accept(File dir, String name) {
				// 只接受文件名以“Java”开头并以“教程”结束的文件
				if (name.startsWith("Java") && name.endsWith("教程")) {
					return true;
				} else {
					return false;
				}
			}
		});
		for (String f : files) {
			System.out.println(f);
		}
	}

	/**
	 * 列出的是File[] files
	 */
	private static void listFiles(File file) {
		File[] files = file.listFiles();
		for (File f : files) {
			System.out.println(f);
		}
	}

	/**
	 * 列出的是File[] files,并使用FilenameFilter过滤
	 */
	private static void listFilesWithFileNameFilter(File file) {
		File[] files = file.listFiles(new FilenameFilter() {
			@Override
			/**
			 * dir - 被找到的文件所在的目录
			 * name - 文件的名称
			 */
			public boolean accept(File dir, String name) {
				// 只接受文件名以“Java”开头并以“教程”结束的文件
				if (name.startsWith("Java") && name.endsWith("教程")) {
					return true;
				} else {
					return false;
				}
			}
		});
		for (File f : files) {
			System.out.println(f);
		}
	}

	/**
	 * 列出的是File[] files,并使用FileFilter过滤
	 */
	private static void listFilesWithFileFilter(File file) {
		File[] files = file.listFiles(new FileFilter() {
			@Override
			/**
			 * pathname - 要测试的抽象路径名
			 */
			public boolean accept(File pathname) {
				// 只接受文件名以“Java”开头并以“教程”结束的文件
				if (pathname.getName().startsWith("Java") 
						&& pathname.getName().endsWith("教程")) {
					return true;
				} else {
					return false;
				}
			}
		});
		for (File f : files) {
			System.out.println(f);
		}
	}

}
分享到:
评论

相关推荐

    Java IO commons-io-2.5.jar

    相较于Java标准库中的`java.io.File`类提供的`copy()`方法,`commons-io`的`FileUtils.copyFile()`更简单易用,且异常处理更简洁。 总的来说,`commons-io-2.5.jar` 是Java开发者的强大工具,它极大地扩展了Java IO...

    commons-io-1.4.jar.zip_io流jar

    《Java IO流详解与commons-io-1.4.jar库的应用》 在Java编程语言中,IO(Input/Output)流是一组用于数据传输的类,它们允许程序读取和写入数据,无论是从磁盘、网络还是其他输入输出设备。Java的IO流系统是一个...

    Java IO框架 commons-io-2.11.0

    6. **文件观察**:虽然Java 7引入了`java.nio.file.FileSystems`和`java.nio.file.WatchService`来观察文件系统事件,但Apache Commons IO提供了一些辅助类,如`FileAlterationObserver`和`FileAlterationMonitor`,...

    java-io-file类笔记

    尽管java.io定义的大多数类是实行流式操作的,File类不是。它直接处理文件和文件系统。也就是说,File类没有指定信息怎样从文件读取或向文件存储;它描述了文件本身的属性。File对象用来获取或处理与磁盘文件相关的...

    Java文件io-stream-file教程

    Java 文件IO-Stream-File 教程 Java 流(Stream)、文件(File)和 IOJava.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。Java.io 包中的流支持很多种格式,比如:基本类型、对象、...

    commons-io-2.7-bin.zip

    Apache Commons IO 是一个Java库,专门用于处理输入/输出流操作。这个库包含了大量实用类和方法,使得在处理文件、字节流、字符流、过滤器和转换时更加便捷。"commons-io-2.7-bin.zip"是Apache Commons IO库的版本...

    java+servlet+commons-io-2.4.jar+commons-fileupload-1.3.jar实现文件的上传与下载

    本教程将深入讲解如何使用Java Servlet、Apache Commons IO库(版本2.4)以及Apache Commons FileUpload库(版本1.3)来实现这一功能。 一、Apache Commons IO与FileUpload库介绍 Apache Commons IO是一个Java库,...

    commons-io-2.11.0-bin.zip

    Apache Commons IO是一个非常重要的Java库,它提供了大量的实用工具类,用于处理输入/输出操作。在标题中提到的"commons-io-2.11.0-bin.zip"是Apache Commons IO库的一个二进制发行版,版本号为2.11.0。这个压缩包...

    【IT十八掌徐培成】Java基础第14天-04.标准IO-File.zip

    1. **File类介绍**:`File`类位于`java.io`包下,它不是真正的流对象,但它是所有I/O操作的基础。`File`对象可以用来创建、删除、重命名文件以及获取文件属性。 2. **文件路径处理**:`File`类提供了创建文件或目录...

    commons-io-2.6.zip

    Apache Commons IO 是一个Java库,专门设计用于处理输入/输出(I/O)操作,极大地简化了在Java应用程序中进行此类操作的复杂性。这个库由Apache软件基金会开发并维护,是许多开发者在处理文件、流、读写操作时的首选...

    上传文件必备jar包-commons.fileupload-1.2.1.jar和commons.io-1.4.0.jar

    import java.io.File; import java.io.IOException; @Controller public class FileUploadController { @PostMapping("/upload") public String handleFileUpload(@RequestParam("file") MultipartFile file) { ...

    io-file.rar_java 文件操作_java 日志_日志 java

    这个java类文件主要使用了java io访问及文件操作处理。电信设备产生的大量的日志文件的内容需要写入到数据库中,设备在每天将产生数以百计的日志文件,这些日志文件的内容存储遵循一定的格式,本文件实现将这些文件...

    commons-io-2.3.jar

    Apache Commons IO库是Java开发者必备的工具包之一,尤其是其中的commons-io-2.3.jar版本,它为处理输入/输出流、文件、字符集转换、线程安全的读写操作等提供了大量实用且高效的类和方法。这个jar包在实际开发中...

    Commons-io-2.5.rar 相关jar包下载

    Apache Commons IO 是一个Java库,它提供了一些在IO操作中常用的功能,比如文件处理、流操作、系统属性访问等。这个“Commons-io-2.5.rar”压缩包包含了Apache Commons IO库的2.5版本的jar包。Apache Commons IO库是...

    文件上传两个jar包commons-fileupload-1.3.1和commons-io-2.4

    总的来说,`commons-fileupload-1.3.1.jar` 和 `commons-io-2.4.jar` 在Java Web开发中是处理文件上传不可或缺的工具,它们为开发者提供了强大的支持,使得文件上传功能的实现变得既高效又安全。在开发过程中,正确...

    commons-io-2.0-src

    Apache Commons IO 是一个Java库,专门用于处理输入/输出流操作。这个库包含了大量实用工具类,可以帮助开发者更高效地处理文件、字节流、字符流以及与IO相关的其他任务。"commons-io-2.0-src.zip"是一个压缩包,...

    commons-io-2.4.jar.zip

    Commons IO 是一个由 Apache Software Foundation 开发的 Java 类库,主要包含了处理输入/输出流、文件、文件系统、以及与I/O相关的实用工具类。这个压缩包文件 "commons-io-2.4.jar.zip" 包含了 Commons IO 库的 ...

    commons-io-1.4.rar_commons io_commons-io-1.4_commons-io-1.4.jar

    Apache Commons IO 是一个Java库,提供了大量的实用工具类来处理输入/输出操作。这个压缩包“commons-io-1.4.rar”包含的是Apache Commons IO库的1.4版本。Apache Commons IO库是Java开发者非常常用的一个组件,它...

    commons-fileupload-1.2.jar和commons-io-1.3.2.jar

    import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax....

    java-remote-file-download.rar_file java_remote

    标题“java-remote-file-download.rar_file java_remote”表明我们关注的是一个使用Java处理远程文件下载的项目。这个项目可能包含了一个名为“java-remote-file-download.java”的源代码文件,这个文件将演示如何...

Global site tag (gtag.js) - Google Analytics