• Java IO(五)字节流 FileInputStream 和 FileOutputStream


    Java IO(五)字节流 FileInputStream 和 FileOutputStream

    一、介绍

    字节流 InputStream 和 OutputStream 是字节输入流和字节输出流的超类(父类)。FileInputStream 和 FileOutputStream 是字节流用于操作文件的子类。

    (一)、FileInputStream

    FileInputStream 是文件字节输入流,继承自 InputStream,通常,我们使用FileInputStream从某个文件中获得输入字节。

    (二)、FileOutputStream

    FileOutputStream 是文件字节输出流,继承自 OutputStream,通常,我们使用 FileOutputStream 将数据写入 File 或者 FileDescriptor  的输出流。

    二、构造方法

    (一)、FileInputStream构造方法

     

    (二)、FileOutputStream构造方法

    三、常用API

    (一)、FileInputStream常用API

    (二)、FileOutputStream常用API

    四、实例

    (一)、单个字节读写数据

    public static void main(String[] args) {
        File file = new File("test.txt");
        write(file, 'A');
        char r = read(file);
        System.out.println(r);
    }
    
    // 写入单个字节数据
    public static void write(File file,int b) {
        FileOutputStream fos = null;
        try {
            // 追加模式默认为 false ,即数据不续写到文件中
            fos = new FileOutputStream(file);
            fos.write(b);
        }catch(Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if (fos != null) {
                    fos.close();
               }
            }catch(Exception e) {
                e.printStackTrace();
          }
      }   
    }
        
    // 读取单个字节数据
    public static char read(File file) {
        FileInputStream fis = null;
        try {
            fis = new FileInputStream(file);
            return (char)fis.read();
        }catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if (fis != null) {
                    fis.close();
                }
            }catch(Exception e) {
                e.printStackTrace();
            }
        }
        return 0;
    }

    (二)、字节数组读取数据

    public static void main(String[] args) {
        write();
        read();
    }
    
    public static void write() {
        FileOutputStream fos = null;
        File file = new File("test.txt");
        byte[] buffer = "abcdefghijklmnopqrstuvwxyz".getBytes();
        try {
            // 指定追加模式为true
            fos = new FileOutputStream(file, true);
            // 以字节数组写入
            fos.write(buffer);
        }catch(Exception e) {
            e.printStackTrace();
        }finally {
            try {
              if (fos != null) {
                 fos.close();
               }
            }catch (Exception e) {
               e.printStackTrace();
            }
      }
    }
    
    //读取字节数组数据
    public static void read() {
      File file = new File("test.txt");
      FileInputStream fis = null;
      byte[] buffer = new byte[10];
      int len = 0;
      try {
        fis = new FileInputStream(file);
        while((len = fis.read(buffer)) != -1) {
          fis.read(buffer, 0, len);       System.out.println(
    new String(buffer));     }   }catch(Exception e) {     e.printStackTrace();   }finally {     try {       if (fis != null) {         fis.close();       }     }catch(Exception e) {       e.printStackTrace();     }   }
    }
  • 相关阅读:
    设计和实现OLAP解决方案
    数据库的数据挖掘概述
    SharePoint 2007中的搜索服务 Virus
    分离SharePoint的应用服务器的过程中遇到的问题 Virus
    自定义对象的比较系列二之实现IComparable Virus
    软件行业和传统行业的比较 Virus
    Sharepoint中用treeview来显示组织机构的人员状态的webpart Virus
    自定义对象的比较系列一之实现IComparable Virus
    无法保存webpart的属性设置,发生意外,异常来自 HRESULT:0x80020009(DISP_E_EXCEPTION) Virus
    SPD开发工作流需要注意的地方3[SPD工作流访问隐藏栏] Virus
  • 原文地址:https://www.cnblogs.com/lingq/p/12916908.html
Copyright © 2020-2023  润新知