架构图:

java-io流_数据保存


架构图2:

java-io流_字节数组_02


代码1:


package com.wkcto.chapter06.fileinputstream;  import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;  /**  * 异常处理  *  */ public class Test05 {      public static void main(String[] args) {          //        readData();         //以字节为单位读取文件内容, 异常处理, 手动关闭流         readData2();         //以字节数组为单位读取文件内容, 异常处理, 自动 关闭流, 从JDK7开始     }      private static void readData2() {                 try (                 FileInputStream fis = new FileInputStream("d:/abc.txt");                 ) {             byte [] bytes = new byte[8];      //字符数组一般情况下是1024的偶数倍             int len = fis.read(bytes);             while( len != -1){                 System.out.print( new String(bytes, 0 ,len));                 len = fis.read(bytes);             }                      } catch (Exception e) {         }     }      private static void readData() {                  FileInputStream fis = null;         try {             fis = new FileInputStream("d:/abc.txt");             int cc = fis.read();             while( cc != -1 ){                 System.out.print( (char)cc );                 cc = fis.read();             }         } catch (FileNotFoundException e) {             e.printStackTrace();         } catch (IOException e) {             e.printStackTrace();         } finally {             if ( fis != null) {                 try {                     fis.close();                 } catch (IOException e) {                     e.printStackTrace();                 }                             }                     }              }  }


示例代码2:


package com.wkcto.chapter06.fileinputstream;  import java.io.FileOutputStream; import java.io.IOException;  /**  * 演示FileOutputStream, 把程序中的数据保存到文件中  *   *  */ public class Test06 {      public static void main(String[] args) throws IOException {         //1)建立当前程序与文件之间的流通道, 如果文件不存在,会创建一个新的文件,如果文件已存在,会覆盖原来的内容 //        FileOutputStream fos = new FileOutputStream("d:/def.txt");         //1)建立当前程序与文件之间的流通道, 如果文件不存在,会创建一个新的文件,如果文件已存在,原文件后面追加新的内容         FileOutputStream fos = new FileOutputStream("d:/def.txt", true);     //以追加的方式打开文件         //2)把数据保存到文件中         //2.1 可以一次保存一个字节         fos.write(97);         fos.write(98);         fos.write(99);         //2.2 可以一次保存一个字节数组         byte[]bytes = "wkcto is a NB Website".getBytes();         fos.write(bytes);         //2.3 换行 , 在Windows操作系统中,换行需要\r\n两个 字符         fos.write('\r');         fos.write('\n');         //2.4 保存字节数组中部分字节         fos.write(bytes, 0, 5);                  //3)关闭流通道         fos.close();     }  }