欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java学习笔记第25天2018.09.27

程序员文章站 2022-07-15 08:13:59
...

IO:
File类:
描述文件或者目录的相关信息。
创建文件的方法:
createNewFile(): boolean
创建目录:
mkdir(): boolean
mkdirs(): boolean
列出:
String[] list()
File[] listFiles()
过滤器:
String[] list(FilenameFilter name)
boolean accept(File dir, String name)
dir:当前要过滤的目录
name:当前要过滤的目录其中的一个文件或者目录名
File[] listFiles(FilenameFilter name)
File[] listFiles(FileFilter pathname)
boolean accept(File pathname)
pathname:当前要过滤的目录+文件或者目录名
按照数据的流动方向:
输入流: 应用程序读取数据—read
输出流: 应用程序向某一个地方写入数据 —write
按照操作的数据:
字节流:图片,视频,音频等二进制文件
字符流:文本类型文件

字节流:
	输出流:
		OutputStream:抽象类
			:write(int)
			:write(byte[])
			:write(byte[] ,index,length)
			:close()
		FileOutputStream(目的地)
	步骤:
		1.创建输出流对象,并指定目的地
		2.向目的地中写入数据
		3.关闭输出流

	输入流:
		InputStream:抽象类
			:int read()
			: int read(byte[])
			: int read(byte[] ,index,length)
			:close()
		FileInputStream(源头地址)
	步骤:
		1.创建输入流对象,并指定数据源
		2.读取数据
		3.关闭输入流
	
	字节缓冲流:
		BufferedInputStream(InputStream)
		BufferedOutputStream(OutputStream)

	int available():输入流中的方法,可以获取未读取数据的字节个数
字符流:

	文本类型文件 txt
	抽象类
	输入流:Reader
			read(),close()
		 ---FileReader
			
	输出流:Writer
			write(),close
		 ---FileWriter

	转换流:
		InputStreamReader(InputStream ,CharSetName)
		OutputStreamWriter(OutputStream ,CharSetName)
		当读和写两遍的编码格式不一致时
		OutputStreamWriter是字符流,记得要刷新或者是关闭流
	模板代码:
		字符输入流
		FileReader  fr = new FileReader("数据源");
		char[] ch = new char[1024];
		int len = 0;
		while((len = fr.read(ch)) != -1){
			.....
		}
		fr.close();

		字符输出流:
		FileWriter  fw = new FileWriter("目的地");
		fw.write("...............");
		//fw.flush();
		fw.close();
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/*
 * 演示使用字符流复制文件
 */
public class Demo05 {
	public static void main(String[] args) throws IOException {
		// 创建输入流对象
		FileReader fil = new FileReader("d:\\1.txt");
		// 创建输出流对象
		FileWriter fol = new FileWriter("d:\\复制.txt");

		char[] ch = new char[1024];
		int len = 0;
		while ((len = fil.read(ch)) != -1) {
			fol.write(ch, 0, len);
			fol.flush();
		}
		fil.close();
		fol.close();
	}
}