• I/O系列教材 (三)- Java 字节流 InputStream OutputStream


    InputStream字节输入流 
    OutputStream字节输出流 
    用于以字节的形式读取和写入数据

    步骤1:ASCII码 概念
    步骤2:以字节流的形式读取文件内容
    步骤3:以字节流的形式向文件写入数据
    步骤4:练习-写入数据到文件
    步骤5:答案-写入数据到文件
    步骤6:练习-拆分文件
    步骤7:答案-拆分文件
    步骤8:练习-合并文件
    步骤9:答案-合并文件

    步骤 1 : ASCII码 概念

    步骤 2 : 以字节流的形式读取文件内容

    InputStream是字节输入流,同时也是抽象类,只提供方法声明,不提供方法的具体实现。
    FileInputStream 是InputStream子类,以FileInputStream 为例进行文件读取

    package stream;

      

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.IOException;

      

    public class TestStream {

      

        public static void main(String[] args) {

            try {

                //准备文件lol.txt其中的内容是AB,对应的ASCII分别是65 66

                File f =new File("d:/lol.txt");

                //创建基于文件的输入流

                FileInputStream fis =new FileInputStream(f);

                //创建字节数组,其长度就是文件的长度

                byte[] all =new byte[(int) f.length()];

                //以字节流的形式读取文件所有内容

                fis.read(all);

                for (byte b : all) {

                    //打印出来是65 66

                    System.out.println(b);

                }

                 

                //每次使用完流,都应该进行关闭

                fis.close();

                  

            catch (IOException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

              

        }

    }

    步骤 3 : 以字节流的形式向文件写入数据

    OutputStream是字节输出流,同时也是抽象类,只提供方法声明,不提供方法的具体实现。
    FileOutputStream 是OutputStream子类,以FileOutputStream 为例向文件写出数据

    注: 如果文件d:/lol2.txt不存在,写出操作会自动创建该文件。 
    但是如果是文件 d:/xyz/lol2.txt,而目录xyz又不存在,会抛出异常

    以字节流的形式向文件写入数据

    package stream;

    import java.io.File;

    import java.io.FileOutputStream;

    import java.io.IOException;

    public class TestStream {

        public static void main(String[] args) {

            try {

                // 准备文件lol2.txt其中的内容是空的

                File f = new File("d:/lol2.txt");

                // 准备长度是2的字节数组,用88,89初始化,其对应的字符分别是X,Y

                byte data[] = { 8889 };

                // 创建基于文件的输出流

                FileOutputStream fos = new FileOutputStream(f);

                // 把数据写入到输出流

                fos.write(data);

                // 关闭输出流

                fos.close();

                 

            catch (IOException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

        }

    }


    更多内容,点击了解: https://how2j.cn/k/io/io-bytestream/340.html

  • 相关阅读:
    记录一次nginx的upstream的配置信息
    nginx-1.12.1编译参数详情
    nginx安装ngx_lua_waf防护
    MYSQL增加tmp_table_size 的操作
    windows安装zabbix监控
    mysql 授权
    python基础知识-集合,列表,元组间的相互装换
    python基础知识笔记-集合
    Python基础笔记-元祖
    python基础知识-列表的排序问题
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615506.html
Copyright © 2020-2023  润新知