Java之IO初识

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

IO流:数据传输的中转站 源————>IO流————>目的地
IO流一般都是成对出现,也就是按照流向分为:输入流和输出流
IO流按照操作的对象来分:字节流和字符流

一、字符流
基类:Reader(读)、Writer(写)
|-Reader
 |--BufferedReader:对Reader进行了包装,提供了缓冲区(8192),有readLIne方法
 构造函数:BufferedReader(Reader r)
 |--InputStreamReader:转换流,将字节流转成字符流new InputStreamReader(InputStream in)
 |---FileReader:读取文件的字符流,FileReader(File file),FileReader(String fileName)
|-Writer
 |--BufferedWriter:包装类,常用方法:write(String s)、flush、newLine(),
 BufferedWriter(Writer w)
 |--OutputStreamWriter:转换流,OutputStreamWriter(OutputStream out)
 |---FileWriter:写入文件,FileWriter(File file),FileWriter(String fileName)
 FileWriter(File file,boolean append),FileWriter(String fileName,boolean append)
 当append值为true时,将写入文件的末尾处,当为False时,从文件开头开始写,就会覆盖原来的。

二、字节流
|-InputStream(输入流)
 |--FileInputStream:读取文件的字节流,和FIleReader用法基本一样。
 |--FilterInputStream:过滤流,一般不使用,只是对InputStream的简单包装
 |---BufferedInputStream:包装类,BufferedInputSteam(InputStream in),提供了缓冲区
|-OutputStream(输出流)
 |--FileOutputStream
 |--FilterOutputStream
 |---BufferedOutputStream

三、使用IO流必须要捕获异常,原因在于我们必须要还资源(关闭流)。
FileWriter fw = null;
try{
fw = new FileWriter(new File());
fw.write("a");
}
catch(IOException e)
{
e.printStackTrace();//异常类名、异常信息、详细错误信息
System.out.println(e.toString());//异常类名、异常信息
System.out.println(e.getMessage());//异常信息
}
finally
{
try{if(fw!=null)fw.close();}catch(IOException e){e.printStackTrace();}
}


四、File文件类
1、构造方法:
File(File parent, String child)
根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File(String pathname)
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(String parent, String child)
根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。


五、RandomAccessFile:文件流,可以读写
1、RandomAccessFile(File file,String mode)、RandomAccessFile(String fileName,String mode)
mode:r,只读;rw,读写
2、有很多read和write方法。
seek方法:指定从哪个位置开始读写
skipBytes(int n):跳过多少个字节

六、PrintStream、PrintWriter打印流
有一个特殊的方法print可以实现打印
write方法是直接将字节和字符写出去
print:首先调用对象的toString方法转成字符串(如果是基本数据类型,会先自动装箱)
再将字符串编码成字节数组,调用write方法写出去

我的总结:IO就是指应用程序对外部设备的数据输入输出

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值