1.1 IO流总结
l 字节流
n 字节输入流 InputStream
u FileInputStream 操作文件的字节输入流
u 构造方法:
u FileInputStream(String name)
u FileInputStream(File file)
u 构造方法的参数:要读取文件的数据源
u String name:文件的字符串路径
u File file:文件
u
u BufferedInputStream高效的字节输入流
u ObjectInputStream 反序列化流
n 字节输出流 OutputStram
u FileOutputStream 操作文件的字节输出流
u 注意: 写入多个字节的时候:
u 如果写的字节都是正数:那么查看的时候就会查询ASCII表
u 如果写的字节是负数,就会把后边的字节,两个字节组成一个中文,查看的时候就会查询系统默认码表(GBK)
u 写中文的时候,第一个字节必须是负数,第二个字节可以是正数也可以是负数
n
u BufferedOutputStream 高效的字节输出流
u ObjectOuputStream 序列化流
u PrintStream 字节打印流
l 字符流
n 字符输入流 Reader
u FileReader 操作文件的字符输入流
u BufferedReader 高效的字符输入流
u InputStreamReader 输入操作的转换流(把字节流封装成字符流)
n 字符输出流 Writer
u FileWriter 操作文件的字符输出流
u BufferedWriter 高效的字符输出流
u OutputStreamWriter 输出操作的转换流(把字节流封装成字符流)
u PrintWriter 字符打印流
l 方法:
n 读数据方法:
u read() 一次读一个字节或字符的方法
u read(byte[] char[]) 一次读一个数组数据的方法
u readLine() 一次读一行字符串的方法(BufferedReader类特有方法)
u readObject() 从流中读取对象(ObjectInputStream特有方法)
n 写数据方法:
u write(int) 一次写一个字节或字符到文件中
u write(byte[] char[]) 一次写一个数组数据到文件中
u write(String) 一次写一个字符串内容到文件中(FileWriter)
u writeObject(Object ) 写对象到流中(ObjectOutputStream类特有方法)
u newLine() 写一个换行符号(BufferedWriter类特有方法)
l 向文件中写入数据的过程
1,创建输出流对象
2,写数据到文件
3,关闭输出流
l 从文件中读数据的过程
1, 创建输入流对象
2, 从文件中读数据
3, 关闭输入流
l 文件复制的过程
1, 创建输入流(数据源)
2, 创建输出流(目的地)
3, 从输入流中读数据
4, 通过输出流,把数据写入目的地
5, 关闭流
l File类
n 方法
u 获取文件名称 getName()
u 获取文件绝对路径 getAbsolutePath()
u 获取文件大小 length()
u 获取当前文件夹中所有File对象 File[] listFiles()
u 判断是否为文件 isFile()
u 判断是否为文件夹 isDirectory()
u 创建文件夹 mkdir() mkdirs()
u 创建文件 createNewFile()
l 异常
n try..catch…finally捕获处理异常
n throws 声明异常
n throw 抛出异常对象
l 异常的分类
n 编译期异常 Exception
|- 运行期异常 RuntimeException
l 注意:
编译期异常,必须处理,不然无法编译通过
运行期异常,程序运行过程中,产生的异常信息
l Properties:Map集合的一种,它是Hashtable集合的子集合,它键与值都是String类型,它是唯一能与IO流结合使用的集合
n 方法
u load( InputStream in ) 从流所对应的文件中,读数据到集合中
u load( Reader in ) 从流所对应的文件中,读数据到集合中
u store( OutputStream out , String message ) 把集合中的数据,写入到流所对应的文件中
u store( Writer out , String message) 把集合中的数据,写入到流所对应的文件中
l 实现文件内容的自动追加
n 构造方法
n FileOutputStream(File file, boolean append)
n FileOutputStream(String fileName, boolean append)
n FileWriter(File, boolean append)
n FileWriter(String fileName, boolean append)
l 实现文件内容的自动刷新
n 构造方法
n PrintStream(OutputStream out, boolean autoFlush)
n PrintWriter(OutputStream out, boolean autoFlush)
n PrintWriter(Writer out, boolean autoFlush)
l Commons-IO
l 方法
n readFileToString(File file):读取文件内容,并返回一个String;
n writeStringToFile(File file,String content):将内容content写入到file中;
n copyDirectoryToDirectory(File srcDir,File destDir);文件夹复制
n copyFileToDirectory (File srcFile,File destFile);文件复制