Java输入输出(IO)和流的基本概念以及几种方法

Java流的概念

IO流继承关系,如图所示:(了解)
在这里插入图片描述

  1. 流(Stream)是指在计算机的输入输出操作中各部件之间的数据流动。按照数据的传输方向,流可分为输入流与输出流。Java语言里的流序列中的数据既可以是未经加工的原始二进制数据,也可以是经过一定编码处理后符合某种特定格式的数据。
  2. 在Java中,把不同类型的输入输出源抽象为流,其中输入和输出的数据称为数据流(Data Stream)。数据流是Java程序发送和接收数据的一个通道,数据流中包括输入流(Input Stream)和输出流(Output Stream)。通常应用程序中使用输入流读出数据,输出流写入数据。 流式输入、输出的特点是数据的获取和发送均沿数据序列顺序进行。相对于程序来说,输出流是往存储介质或数据通道写入数据,而输入流是从存储介质或数据通道中读取数据,一般来说关于流的特性有下面几点:
    先进先出,最先写入输出流的数据最先被输入流读取到。
    顺序存取,可以一个接一个地往流中写入一串字节,读出时也将按写入顺序读取一串字节,不能随机访问中间的数据。
    只读或只写,每个流只能是输入流或输出流的一种,不能同时具备两个功能,在一个数据传输通道中,如果既要写入数据,又要读取数据,则要分别提供两个流。
  • FileOutputStream字节输出流原始字节流:写入操作(一般用于写入图像文件)
File file1 = new File("E:\\Youxun\\text.txt");
        if (!file1.exists()){
            file1.createNewFile();
        } else {
            System.out.println(file1+"存在");
        }
 //是否对文件内容追加,默认false,改为true将不会覆盖源文件
FileOutputStream fileOutputStream = new FileOutputStream(file1,true);
        fileOutputStream.write(set.toString().getBytes());
        fileOutputStream.close();
  • FileWriter字符输出流:写入操作(文本写入建议使用该方法)
  FileWriter fileWriter = new FileWriter(file2,true);
        fileWriter.write(set.toString());
        fileWriter.close();
  • FileInputStream字节输入流原始字节流:读取操作(单个读取)
FileInputStream fileInputStream = new FileInputStream(file1);
        int i;
        while ((i = fileInputStream.read()) != -1){
            System.out.println((char) i);
        }
        fileInputStream.close();
  • FileReader字符输入流:读取操作
FileReader fileReader = new FileReader(file2);
        char [] b = new char [1024];
        int len = 0;

        while((len = fileReader.read(b))!=-1){
            System.out.println(new String(b,0,len));
        }
        fileReader.close();

如有不足,多指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值