java学习笔记第25天2018.09.27

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();
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_43117449/article/details/82874675
今日推荐