• FileOutputStream字节输出流和FileInputStream输入流(切记:out是输出到本地中,in是输入到程序中)这里介绍大文件和小文件的读取方式


    //FileOutputStream

    public class FileOutputStreamDemo {
     /**字节流:适用于任何文件,以字节为单位,进行读写操作
      *字节流操作步骤:
      *1、创建文件对象
      *2、创建字节流
      *3、读写操作
      *4、关闭流
      */
     //字节流(写操作)
     public static void main(String[] args) {

    String messageString = "hello world";
      byte[] bytes = messageString.getBytes();
      //1、创建文件对象
      File file = new File("abc.txt");  
      FileOutputStream fos = null;
      try {
       //2、创建字节流
       fos = new FileOutputStream(file,true);//参数一:file对象(也可以是一个文件路径) 参数二:true表示追加模式 false表示覆盖模式
       //3、写操作
       fos.write(bytes);
       System.out.println("写入成功!");
      } catch (FileNotFoundException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }finally{
       try {
        //4、关闭流
        if(fos!=null){
         fos.close();
        }
       } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
       }
      }

    }

    }

    //FileInputStream

    public class FileInputStreamDemo {
     //字节流(读小文件操作)
    // public static void main(String[] args) {

    //  //1、创建文件对象
    //  File file = new File("abc.txt");
    //  FileInputStream fis = null;
    //  try {
    //   //2、创建字节流
    //   fis = new FileInputStream(file);
    //   byte[] bytes = new byte[(int)file.length()];//创建存储从文件读取到的字节数据
    //   //3、读操作
    //   fis.read(bytes);
    //   String str = new String(bytes);//将字节数组转换为字符串
    //   System.out.println(str);
    //  } catch (FileNotFoundException e) {
    //   e.printStackTrace();
    //  } catch (IOException e) {
    //   e.printStackTrace();
    //  }finally{
    //   try {
    //    //4、关闭流
    //    if(fis!=null){
    //     fis.close();
    //    }
    //   } catch (IOException e) {
    //    e.printStackTrace();
    //   }
    //  }
    // }

    //字节流(读大文件操作)
     public static void main(String[] args) {

    File file = new File("abc.txt");
      FileInputStream fis = null;

      //一般byte数组的大小为512,,1024,2048
      byte[] bytes = new byte[1024];//存储每次读取的字节数据
      int len = 0;//存储每次读取的字节数
      try {
       fis = new FileInputStream(file);
       while((len=fis.read(bytes))!=-1){
        //参数一:字节数组   参数二:从数组的哪个下标开始转换为字符串   参数三:要转换的字节数
        String str = new String(bytes,0,len);
        System.out.println(str);
       }
      } catch (FileNotFoundException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }finally{
       try {
        if(fis!=null){
         fis.close();
        }
       } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
       }
      }

    }

    }

  • 相关阅读:
    (原)Lazarus 异构平台下多层架构思路、DataSet转换核心代码
    (学)新版动态表单研发,阶段成果3
    (学) 如何将 Oracle 序列 重置 清零 How to reset an Oracle sequence
    (学)XtraReport WebService Print 报错
    (原)三星 i6410 刷机 短信 无法 保存 解决 办法
    (原) Devexpress 汉化包 制作工具、测试程序
    linux下网络配置
    apache自带ab.exe小工具使用小结
    Yii::app()用法小结
    PDO使用小结
  • 原文地址:https://www.cnblogs.com/danmao/p/3825239.html
Copyright © 2020-2023  润新知