Java_day17

         
三.IO流 各种流的操作     

 
    前提:io操作涉及到众多的流,接下来也需要学习众多的流,只要是IO操作,用任何一种流都可以完成功能,咱学这么多流的意义在于,可以选更好的流完成。每个流都是用到上面的基础操作,每个流也有自己的特点。咱要学的就是每个流的特点。
    选用原则:

  1. 效率:缓冲区字节流 > 字节流  > 缓冲区字符流 > 字符流
  2. 是否需要操作:基本只能是字符流(只有字符流(每次读取的是字符) 我们才能看懂,才能操作)

    3.1: 字节流:InputStream/OutputStream: 一般是一次读取一个字节
        Unicode:16位表示一个字符->两个字节表示一个字符
        utf-8:属于Unicode一个子类: 是根据字符对应的数字大小来确定
        注:在控制台输入的时候 需要注意控制台编码,右键->run as->common->Encoding
        String msg = new String(byte[]);
        String msg = new String(byte[],start,len);
        
3.2: 字节流:ByteArrayInputStream/ByteArrayOutputStream:从字节数组中读取数据/把数据写到字节数组中。
        专门用来读取字节数组。
3.3: 字节流:FileInputStream/FileOutputStream:从文件中读取数据/把数据输出到文件中。
 3.3.1: File 类 

  • 构造器1:new File("src/aa");创建src/aa新File 实例。
  • 构造器2:new File(file2,"a.aaa");在file2目录下a.aaa新File 实例。file2不是目录会报错
  • 构造器3:new File("src/ab","b");创建 src/ab目录下的 b新File 实例。src/ab 目录不存在 会报错
  • 方法1:  boolean canExecute();    是否可以执行此抽象路径名表示的文件。 
  • 方法2:  boolean createNewFile() 创建一个新的空文件。
  • 方法3:  boolean delete()    删除此抽象路径名表示的文件或目录。
  • 方法4:  boolean exists()    此抽象路径名表示的 文件 或 目录 是否存在。
  • 方法5:  String getPath()    将此抽象路径名转换为一个路径名字符串。
  • 方法6:  boolean isDirectory()    文件是否是一个目录。
  • 方法7:  long length()        文件的长度。
  • 方法8:  boolean mkdir()        创建目录。
  • 方法9:  boolean mkdirs()    创建目录和其父类目录。

3.3.2: FileInputStream:读取文件中的数据放到这个流中。

  1. 构造器1:new FileInputStream("文件路径");//读取字符串路径所表示文件的数据
  2. 构造器2:new FileInputStream(new File("文件路径"));//读取文件的数据

           
 3.3.3: FileOutputStream: 把输出流的数据输出到文件中。

  1. 构造器1:new FileOutputStream(new File"文件路径");//把流中的数据输出到文件
  2. 构造器2:new FileOutputStream(new File("文件路径"),是否追加);//读取文件的数据,true-->本次输出的数据在文件末尾追加 ;false-->不追加,覆盖。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值