java基础-IO流之使用字节流的方式进行读取和写入文件

一、IO流的简介
1.定义
IO流是指一串流动的字符串,是以先进先出的方式发送信息的通道;通过IO流可以实现操控硬盘上的文件。
2.分类
按照流向可以将IO流分为输入流和输出流;
按照数据处理单元,可将IO流分为字节流和字符流;
字节输入流的基类是FileInputStream;
字节输出流的基类是FileOutputStream;
字符输入流的基类是Reader;
字符输出流的基类是Writer。
二、通过字节流的方式实现文件的读取和复制
例子实现了将D://filecopy/oldfile.txt复制到D://oldfile.txt
(1)代码

import java.io.*;
/**
 * @author ThinkPad
 * @date 2020/5/25 19:16
 */

public class test1 {
    
    
    public  static  void main(String[] args){
    
    
        //字节输入输出流
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try {
    
    
            fis = new FileInputStream("D://filecopy/oldfile.txt");
            fos = new FileOutputStream("D://oldfile.txt");
            //io读数据的时候,数据存的位置(相当于传输数据的管子)
            byte bs[] = new byte[1024];
            int i = 0;
            //read()方法返回的int类型,是表示数据下一个字节的字节码,如果已经到达流的最后面了,那就返回-1
            while(i!=-1){
    
    
                //read()的内容就写入新的文件                
            fos.write(bs,0,i);
            i= fis.read(bs);
            }
            System.out.println("数据复制完成");
        }
        catch(Exception e){
    
    
            e.printStackTrace();
        }
        finally{
    
    
            try {
    
    
                fos.close();
                fis.close();
            } catch (IOException e) {
    
    
                e.printStackTrace();
            }
        }
    }
}

(2)知识点
bs[]是用来将读取原文件,并放入新文件的存储空间,可理解为放水时的输水管;
FileInputStream中read()方法返回的int类型,是表示数据下一个字节的字节码,如果已经到达流的最后面了,那就返回-1。
(3)执行结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44801116/article/details/106347605