⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readmultifile.java

📁 本书属于《开发专家之 Sun ONE》系列丛书
💻 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 + -