📄 readmultifile.java
字号:
//【代码7-5-1】
//ReadMultiFile.java
import java.io.*;
import java.util.*;
class ReadMultiFile
{
public static void main(String args[])
{
//实例化FileFilter类
FileFilter fFilter = new FileFilter("D:\Java2\Source","java");
//创建顺序输入流
SequenceInputStream seqInput = new SequenceInputStream(fFilter);
//创建输出文件对象
FileOutputStream fOutput = new FileOutputStream("SourceSum");
//每次读取的字符
int bContent;
//从文件输入流中读取内容
while((bContent = seqInput.read())!=-1)
{
//写出到文件输出对象
fOutput.write(nContent);
}
//关闭顺序输入流
seqInput.close();
//关闭文件输出对象
fOutput.close();
}
}
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++;
//返回文件输入流对象
return new FileInputStream(strFileList[nCounter-1]);
}
else
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -