📄 readmultifile.java
字号:
//ReadMultiFile.Java
import java.io.*;
import java.util.*;
public class ReadMultiFile {
public static void main(String args[]) {
try {
//实例化FileFilter类
FileFilter fFilter = new FileFilter(System.getProperty("user.dir"),
"java");
//创建顺序输入流
SequenceInputStream seqInput = new SequenceInputStream(fFilter);
//创建输出文件对象
FileOutputStream fOutput = new FileOutputStream("AllJavaFile.txt");
//每次读取的字符
int nContent;
//从文件输入流中读取内容
while ( (nContent = seqInput.read()) != -1) {
fOutput.write(nContent);//写到文件输出对象
}
//关闭顺序输入流
seqInput.close();
//关闭文件输出对象
fOutput.close();
}
catch (Exception e) {
}
}
}
class FileFilter
implements Enumeration {
File directory;
String extension;
String strFileList[];
Filter filter;
int nCounter;
//构造方法
FileFilter(String strDirectoryName, String extension) {
this.extension = extension;
//创建目录对象
directory = new File(strDirectoryName);
if (directory.isDirectory()) {
//如果是目录,获取目录中所有文件
filter = new Filter(extension);
strFileList = directory.list(filter);
}
else {
//如果不是目录,获取当前文件
strFileList = new String[1];
strFileList[0] = strDirectoryName;
}
nCounter = 0;
}
//判断枚举中十分还有元素的方法
public boolean hasMoreElements() {
if (nCounter < strFileList.length) {
return true;
}
else {
return false;
}
}
//获取枚举中下一元素的方法
public Object nextElement() {
//如果还有元素
if (hasMoreElements()) {
nCounter++;
//返回文件输入流对象
try {
return new FileInputStream(strFileList[nCounter - 1]);
}
catch (FileNotFoundException e) {
}
return null;
}
else
return null;
}
}
//定义文件过滤器
class Filter
implements FilenameFilter {
String extension; //扩展名
Filter(String extension) {
this.extension = extension;
}
//测试文件的扩展名是否为extension
public boolean accept(File directory, String filename) {
return filename.endsWith("." + extension);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -