JAVA I/O流

i/o流概述

流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作。用来进行输入输出操作的流就称为IO流。换句话说,IO流就是以流的方式进行输入输出 。 

File 

File类:是文件和目录路径名的抽象表示形式。

即,Java中把文件或者目录(文件夹)都封装成File对象。也就是说如果我们要去操作硬盘上的文件,或者文件夹只要找到File这个类即可。

File类常用方法 

 

字节输出/输入流 

1.字节流和字符流的基本操作是相同的,但是要想操作媒体流就需要用到字节流。

2.字节流因为操作的是字节,所以可以用来操作媒体文件。(媒体文件也是以字节存储的)

3.读写字节流:InputStream 输入流(读)和OutputStream 输出流(写)

文件复制 

 //读入文件到程序

        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(文件路径));

        //写入数据到文件

        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(文件路径));

        byte[] b = new byte[1024];

        int len = 0;

        while((len = bis.read(b)) != -1){

            bos.write(b, 0, len);

        }

        bis.close();

        bos.close();

        System.out.println("复制文件完成!");

字符输入/输出流

1.字符流是可以直接读写字符的IO流,字符流读取字符,就要先读取到字节数据,然后转为字符.;如果要写出字符,需要把字符转为字节再写出。

2.读写字节流:Reader输入流(读)和Writer 输出流(写)

字符输入流 

    File f = new File("xinzhi.txt"); // 定位文件位置

    char[] ch = new char[100]; //定义一个数组,用来存放读入的数据

    Reader read = new FileReader(f); //创建字符输入流连接到文件

    int count = read.read(ch); //读操作

    read.close(); //关闭流

    System.out.println("读入的长度为:" + count);

    System.out.println("内容为" + new String(ch, 0, count));

字符输出流

File f=new File("xinzhi.txt"); // 定位文件位置

    Writer out =new FileWriter(f); //创建字符输出流连接到文件

    String str="欣知大数据";

    out.write(str); //写操作

    out.close(); //关闭流   

 


            流 

字符缓冲输入/输出流

1.从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。

2.将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。可以指定缓冲区的大小,或者接受默认的大小。

字符缓冲输入流 

    File f = new File("xinzhi.txt"); // 定位文件位置

    char[] ch = new char[100]; //定义一个数组,用来存放读入的数据

    Reader read = new FileReader(f); //创建字符输入流连接到文件

    BufferedReader bfr=new BufferedReader(read); //创建缓冲流

    int count = bfr.read(ch); //读操作

    bfr.close(); //关闭缓冲流

    read.close(); //关闭流

    System.out.println("读入的长度为:" + count);

    System.out.println("内容为" + new String(ch, 0, count));

字符缓冲输出流 

    File f=new File("xinzhi.txt"); // 定位文件位置

    Writer out =new FileWriter(f); //创建字符输出流连接到文件

    BufferedWriter bfw =new BufferedWriter(out); //创建缓冲流

    String str="欣知大数据";

    bfw.write(str); //写操作

    bfw.close(); //关闭缓冲流

    out.close(); //关闭流

 

字符缓冲输出流 

    File f=new File("xinzhi.txt"); // 定位文件位置

    Writer out =new FileWriter(f); //创建字符输出流连接到文件

    BufferedWriter bfw =new BufferedWriter(out); //创建缓冲流

    String str="欣知大数据";

    bfw.write(str); //写操作

    bfw.close(); //关闭缓冲流

    out.close(); //关闭流

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值