`

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-file类笔记

    Java中的`java.io.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-fileupload-1.2.2.jar和commons-io-2.4.jar包

    总之,`commons-fileupload-1.2.2.jar`和`commons-io-2.4.jar`是Java Web开发中处理文件上传和下载不可或缺的工具。尽管它们的版本可能不是最新的,但依然能提供可靠的功能,并且在很多现有的系统中广泛使用。理解并...

    上传文件必备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包在实际开发中...

    java-io-all-in-one.pdf

    标题《java-io-all-in-one.pdf》表明了本文档是一个全面介绍Java I/O(输入/输出)技术的资料。I/O是计算机系统中非常关键的一部分,特别是在Java语言中,I/O操作是其标准库的重要组成部分。标题中提及了“从零开始...

    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"是一个压缩包,...

    javaParser 包 javaparser-core-3.6.16.jar

    import java.io.File; import java.nio.file.Paths; public class Main { public static void main(String[] args) { String sourceCode = new File("path/to/your/java/file.java").getAbsolutePath(); ...

    commons-io-2.4.jar.zip

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

    commons-fileupload-1.3.2jar包和commons-io-2.5jar包.zip

    Apache Commons FileUpload与Apache Commons IO是Java开发中处理文件上传和I/O操作的重要库。这两个库在处理Web应用,特别是基于JSP(JavaServer Pages)的文件上传功能时,扮演着核心角色。在这个主题中,我们将...

    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开发者非常常用的一个组件,它...

Global site tag (gtag.js) - Google Analytics