Java基础_10 IO流、Commons框架

解决中文读取问题

  1. 解决方案
    • 字符流
    • 转换流

转换流(都是字符流)

OutputStreamWriter
  • 是字符流通向字节流的桥梁:字符—>字节

  • 是一个字符流:extends Write

  • 方法:写一个字符、字符数组、字符数组的一部分

  • 构造:

//参数为OutputStream的子类,通过多态方式接收,如:FileOutPutStream
public OutputStreamWriter(OutputStream out);	
InputStreamReader
  • 是字节流通向字符流的桥梁:字节—>字符

  • 是在一个字符流:extends Reader

  • 构造

//输入流时,可指定某种码表方式读入,如:Unicode编码、utf-8、GBK
public InputStreamReader(InputStream In);	//默认查询GBK
public InputStreamReader(InputStream In,String charsetName);	//查询指定码表
  • 实例
InputStreamReader isr = new InputStreamReader(new FileInputStream("DBK.txt"));	//创建输入字符流对象
int value = isr.read();	//读入一个字符,和FileIputStream读入方式一样
system.out.println((char)value);

序列化流与反序列化流

序列化流(ObjectOutputStream)
  • 写对象到文件

  • 构造

public ObjectOutputStream(OutputStream out);
  • 方法
public void writeObject(Object obj);	//此方法中的Object对象必须实现Serializable接口
反序列化流(ObjectInputStream)
  • 读从文件中读对象,字节输入流

  • 构造

public ObjectInputStream(InputStream in);
  • 方法
public Object readObject();	//从指定文件中,读入一个对象

Transient关键字:修饰成员变量,序列化时忽略此变量

打印流

PrintWriter(打印字符流)
  • 可打印的目的地(4种)
    • 字符串的文件名
    • File对象
    • 其他的OutputStream
    • 其他的Writer流
PrintStream(打印字符流)
  • 可打印的目的地(3种)
    • 字符串的文件名
    • File对象
    • 其他的OutputStream

Commons-IO框架

Commons-IO框架是Apache Commons IO是Apache基金会创建并维护的Java函数库

FileUtil类中的静态方法

  • 将内容content写入file
public static void writeStringToFile(File file,String content)
  • 读取file文件内容,并返回一个String
public static String readFileToString(File file)
  • 文件复制
public static void copyFile(File srcFile,File destFile)
  • 文件夹复制
//将srcDir(内可含文件夹)文件中的所有文件复制带destDir文件中
public static void copyDirectoryToDirectory(File srcDir,File destDir)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值