(如何读写文件)流-------输入流

流:流是一组有序的数据序列

       通过流来读写文件

       流从方向分输入、输出流

       流从单位份字节、字符流

 

 字节输入流:

InputStream(抽象父类---基类)常用方法:(read()几个重载方法作用不同)

int  read():

输入流一个字节一个字节的读,返回的是该字节的整数表示形式,如果读到了输入流的末尾,返回-1

int read(byte[] b):

从输入流读取若干字节,把这些字节保存到数组b中。返回的是读取到的字节数,如果读到了输入流的末尾,返回-1

int read(byte[] b,int off, int len):

从输入流读取若干字节,把这些字节保存到数组b中。off指的是字节数组中开始保存数据的起始下标。len指的是读取的字节数目。返回的是实际读取到的字节数,如果读到了输入流的末尾,返回-1

int  available():

可以从输入流中读取的字节数目,返回值是读取到的字节数目

void close:

关闭输入流

子类FileInputStream常用的构造方法:FileInputStream(File  file)

                                                              FileInputStream(String  name)

/**
 * @Description通过字节输入流完成对文件的操作
 */
public class FileInputStreamDemo {
    public static void main(String[] args) {
        FileInputStream fis=null;
        try{
            //2.创建FileInputStream对象
             fis=new FileInputStream("d:/myDoc/test.txt");
            System.out.println("\n可以读取到的字节数"+fis.available());
            //3.借助FileInputStream对象的read()方法读取文件
//            int data;//读取到的每个字节的整数表示形式  比如h--104
//            while ((data=fis.read())!=-1){
//                System.out.print((char)data);
//            }
            //借助FileInputStream对象的read(byte[])方法读取文件
            byte[] b=new byte[1024];
            int data;//读取到的字节数
            while ((data=fis.read(b))!=-1) {
                //字节读取到了字节数组b中,需要循环输出b数组中的内容
                for (int i=0;i<data;i++)
                System.out.print((char)b[i]);
            }
        }catch (FileNotFoundException e){
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //4.关闭输入流
            try {
                fis.close();
            }catch (IOException e){
                e.printStackTrace();
            }
        }
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值