列出指定目录下的全部文件
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标准库中的`java.io.File`类提供的`copy()`方法,`commons-io`的`FileUtils.copyFile()`更简单易用,且异常处理更简洁。 总的来说,`commons-io-2.5.jar` 是Java开发者的强大工具,它极大地扩展了Java IO...
《Java IO流详解与commons-io-1.4.jar库的应用》 在Java编程语言中,IO(Input/Output)流是一组用于数据传输的类,它们允许程序读取和写入数据,无论是从磁盘、网络还是其他输入输出设备。Java的IO流系统是一个...
Java中的`java.io.File`类是用于操作文件和目录的核心工具。它不涉及实际的数据流操作,而是专注于文件和文件系统的元数据。`File`对象提供了丰富的功能,包括创建、删除、重命名文件以及检查文件或目录的存在状态,...
Java 文件IO-Stream-File 教程 Java 流(Stream)、文件(File)和 IOJava.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。Java.io 包中的流支持很多种格式,比如:基本类型、对象、...
Apache Commons IO 是一个Java库,专门用于处理输入/输出流操作。这个库包含了大量实用类和方法,使得在处理文件、字节流、字符流、过滤器和转换时更加便捷。"commons-io-2.7-bin.zip"是Apache Commons IO库的版本...
本教程将深入讲解如何使用Java Servlet、Apache Commons IO库(版本2.4)以及Apache Commons FileUpload库(版本1.3)来实现这一功能。 一、Apache Commons IO与FileUpload库介绍 Apache Commons IO是一个Java库,...
Apache Commons IO是一个非常重要的Java库,它提供了大量的实用工具类,用于处理输入/输出操作。在标题中提到的"commons-io-2.11.0-bin.zip"是Apache Commons IO库的一个二进制发行版,版本号为2.11.0。这个压缩包...
1. **File类介绍**:`File`类位于`java.io`包下,它不是真正的流对象,但它是所有I/O操作的基础。`File`对象可以用来创建、删除、重命名文件以及获取文件属性。 2. **文件路径处理**:`File`类提供了创建文件或目录...
总之,`commons-fileupload-1.2.2.jar`和`commons-io-2.4.jar`是Java Web开发中处理文件上传和下载不可或缺的工具。尽管它们的版本可能不是最新的,但依然能提供可靠的功能,并且在很多现有的系统中广泛使用。理解并...
import java.io.File; import java.io.IOException; @Controller public class FileUploadController { @PostMapping("/upload") public String handleFileUpload(@RequestParam("file") MultipartFile file) { ...
这个java类文件主要使用了java io访问及文件操作处理。电信设备产生的大量的日志文件的内容需要写入到数据库中,设备在每天将产生数以百计的日志文件,这些日志文件的内容存储遵循一定的格式,本文件实现将这些文件...
Apache Commons IO库是Java开发者必备的工具包之一,尤其是其中的commons-io-2.3.jar版本,它为处理输入/输出流、文件、字符集转换、线程安全的读写操作等提供了大量实用且高效的类和方法。这个jar包在实际开发中...
标题《java-io-all-in-one.pdf》表明了本文档是一个全面介绍Java I/O(输入/输出)技术的资料。I/O是计算机系统中非常关键的一部分,特别是在Java语言中,I/O操作是其标准库的重要组成部分。标题中提及了“从零开始...
Apache Commons IO 是一个Java库,它提供了一些在IO操作中常用的功能,比如文件处理、流操作、系统属性访问等。这个“Commons-io-2.5.rar”压缩包包含了Apache Commons IO库的2.5版本的jar包。Apache Commons IO库是...
总的来说,`commons-fileupload-1.3.1.jar` 和 `commons-io-2.4.jar` 在Java Web开发中是处理文件上传不可或缺的工具,它们为开发者提供了强大的支持,使得文件上传功能的实现变得既高效又安全。在开发过程中,正确...
Apache Commons IO 是一个Java库,专门用于处理输入/输出流操作。这个库包含了大量实用工具类,可以帮助开发者更高效地处理文件、字节流、字符流以及与IO相关的其他任务。"commons-io-2.0-src.zip"是一个压缩包,...
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 是一个由 Apache Software Foundation 开发的 Java 类库,主要包含了处理输入/输出流、文件、文件系统、以及与I/O相关的实用工具类。这个压缩包文件 "commons-io-2.4.jar.zip" 包含了 Commons IO 库的 ...
Apache Commons FileUpload与Apache Commons IO是Java开发中处理文件上传和I/O操作的重要库。这两个库在处理Web应用,特别是基于JSP(JavaServer Pages)的文件上传功能时,扮演着核心角色。在这个主题中,我们将...
Apache Commons IO 是一个Java库,提供了大量的实用工具类来处理输入/输出操作。这个压缩包“commons-io-1.4.rar”包含的是Apache Commons IO库的1.4版本。Apache Commons IO库是Java开发者非常常用的一个组件,它...