zoukankan      html  css  js  c++  java
  • 三、文件字节流FileInputStream&FileOutputStream

    FileInputStream通过字节的方式读取文件,适合读取所有类型的文件(图像、视频、文本文件等)。Java也提供了FileReader专门读取文本文件。

    FileOutputStream 通过字节的方式写数据到文件中,适合所有类型的文件。Java也提供了FileWriter专门写入文本文件。

    一、文件字节输入流(FileInputStream)

     1 import java.io.*;
     2 public class TestIO03 {
     3     public static void main(String[] args) {
     4         //创建源
     5         File file = new File("b.txt");
     6         //选择流
     7         InputStream inputStream = null;
     8         try {
     9             inputStream = new FileInputStream(file);
    10             //操作流(分段读取),提高读取效率
    11             byte[] flush = new byte[1024];
    12             int len = -1;  //接收长度
    13             while ((len = inputStream.read(flush)) != -1){
    14                 //解码操作,字节数组-->字符串
    15                 String str = new String(flush,0,len);
    16                 System.out.println(str);
    17             }
    18         } catch (IOException e) {
    19             e.printStackTrace();
    20         }finally {
    21             //关闭流
    22             if(inputStream!=null){
    23                 try {
    24                     inputStream.close();
    25                 } catch (IOException e) {
    26                     e.printStackTrace();
    27                 }
    28             }
    29         }
    30     }
    31 }

    二、文件字节输出流(FileOutputStream)

     1 public class TestIO04 {
     2     public static void main(String[] args) {
     3         //创建源
     4         File src = new File("abc.txt");
     5         //选择流
     6         OutputStream outputStream = null;
     7         try {
     8             outputStream = new FileOutputStream(src);
     9             //操作流(写出)
    10             String msg = "IO is so esay";
    11             byte[] datas = msg.getBytes();  //字符串-->字节数组(编码)
    12             outputStream.write(datas,0,datas.length);
    13             outputStream.flush();   //刷新此输出流并强制任何缓冲的输出字节被写出,细节
    14             } catch (FileNotFoundException ex) {
    15             ex.printStackTrace();
    16         } catch (IOException e) {
    17             e.printStackTrace();
    18         } finally {
    19             //释放资源
    20             if(outputStream!=null){
    21                 try {
    22                     outputStream.close();
    23                 } catch (IOException e) {
    24                     e.printStackTrace();
    25                 }
    26             }
    27         }
    28     }
    29 
    30 }

  • 相关阅读:
    codevs 2632 非常好友
    codevs 1213 解的个数
    codevs 2751 军训分批
    codevs 1519 过路费
    codevs 1503 愚蠢的宠物
    codevs 2639 约会计划
    codevs 3369 膜拜
    codevs 3135 River Hopscotch
    数论模板
    JXOJ 9.7 NOIP 放松模拟赛 总结
  • 原文地址:https://www.cnblogs.com/qiaoxin11/p/12587923.html
Copyright © 2011-2022 走看看