zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    jquery获取tr并更改tr内容
    jquery获取元素索引值index()
    禁止apache显示目录索引 apache禁止列目录
    mysql启动错误之mysql启动报1067错误如何解决
    Expo大作战(四)--快速用expo构建一个app,expo中的关键术语
    Expo大作战(三)--针对已经开发过react native项目开发人员有针对性的介绍了expo,expo的局限性,开发时项目选型注意点等
    Expo大作战(二)--expo的生命周期,expo社区交流方式,expo学习必备资源,开发使用expo时关注的一些问题
    Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xde如何使用
    Linux(CentOS)之-性能监控
    [转]winform程序textbox滚动条保持在最下面 内容不闪烁
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615506.html
Copyright © 2011-2022 走看看