I/O流的学习

File类:操作文件或者目录属性的类

 File类操作步骤:首先创建一个文件类对象,第二种方式使用的比较多。

  File file = new File("F:\\first.TXT");

 然后通过file调用File类的方法进行相关操作,以下九种比较常用,另外补充创建目录的两个方法。如果忘记可以查阅java API文档。

 booleanmkdir()

创建由此抽象路径名命名的目录。

booleanmkdirs()

创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录。

数据源—读(输入)—》程序—写(输出)—》数据源

InputStream:字节输入流,是一个抽象类,不能实例化

1. ObjectInputStream类(InputStream类的子类)用于对象的反序列化。

2.FileInputStream:字节输入流,是InputStream的子类, 可以实例化。

构造方法:

FileInputStream(File file)

FileInputStream(String path)

FileInputStream(String path,String code)

第二种比较常用

3.DataInputStream类(InputStream类的孙子类,FilterInputStream类的类)用于二进制文件的读取(图片,视频,录像等)。

OutputStream:字节输出流,是一个抽象类,不能实例化

 1.ObjectOutputStream类(OutputStream类的子类)

2.FileOutputStream:字节输出流,是OutputStream的子类, 可以实例化构造方法:

  FileOutputStream(File file)

  FileOutputStream(File file,boolean bool)

   FileOutputStream(String path)

   FileOutputStream((String path,boolean bool)

   3.DataOutputStream类(OutputStream类的孙子类,FilterOutputStream类的子类)

Reader类:

   1.InputStreamReader类(Reader类的子类)

   2.FileReader类(InputStreamReader类的子类)

   3.SufferedReader(Reader类的子类)

Writer类:

   1.OutputStreamWriter类(Writer的子类)

   2FileWriter类(OutputStreamWriter类的子类)

   3.SufferedWriter(Writer的子类)

package com.bdqn.bean;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class FileInPutStreamDemo {

    public static void main(String[] args) {
        try {
           //创建一个FileInputStream输入流对象
           FileInputStream fis = new FileInputStream("F:\\tst.Txt");
            //用于接收调用read()返回的ASCII值
            int num;
            //调用read()从输入流读取数据的下一个字节,如果达到流的末尾, 则返回-1
           while((num=fis.read())!=-1){
                //将返回的ASCII值转换成相应的字母,如果读取中文会出现乱码
                char cha=(char) num;
                System.out.print(cha);
            }
          //通过byte数组储存数据
          // byte[] bytes = new byte[1024];
          //  int read = fis.read(bytes);
          //  for (int i = 0; i <bytes.length ; i++) {
          //     char ch=(char)bytes[i];
          //      System.out.print(ch);

          //  }


       } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
          e.printStackTrace();
        }



    }

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值