zoukankan      html  css  js  c++  java
  • IO流的复习笔记

    IO字节流和缓冲流

    IO字节流的读取和写入

    读取

     1 import java.io.FileInputStream;
     2 import java.io.FileNotFoundException;
     3 import java.io.IOException;
     4 
     5 public class Test {
     6     public static void main(String[] args) {
     7         try (FileInputStream fis = new FileInputStream("java.txt")
     8         ) {
     9             byte[] bytes = new byte[40];
    10             int temp;
    11             while ((temp = fis.read(bytes)) != -1) {
    12                 System.out.println(new String(bytes, 0, temp));
    13             }
    14         } catch (FileNotFoundException e) {
    15             e.printStackTrace();
    16         } catch (IOException e) {
    17             e.printStackTrace();
    18         }
    19     }
    20 }

    写入

     1 import java.io.*;
     2 
     3 public class Test {
     4     public static void main(String[] args) {
     5         try (FileOutputStream fos = new FileOutputStream("file" + File.separator + "1024.txt", true) //写入时不清除原有数据
     6         ) {
     7             fos.write("Hello".getBytes());
     8             fos.write("
    ".getBytes());  //换行
     9             fos.write("Wrold!".getBytes());
    10             fos.flush(); //刷新
    11         } catch (FileNotFoundException e) {
    12             e.printStackTrace();
    13         } catch (IOException e) {
    14             e.printStackTrace();
    15         }
    16     }
    17 }

    IO字节流的文件拷贝

     1 import java.io.*;
     2 
     3 public class Test {
     4     public static void main(String[] args) {
     5         try (
     6                 FileOutputStream fos = new FileOutputStream("file" + File.separator + "new.txt");
     7                 FileInputStream fis = new FileInputStream("java.txt")
     8         ) {
     9             int temp;
    10             byte[] bytes = new byte[50];
    11             while ((temp = fis.read(bytes)) != -1) {
    12                 fos.write(bytes);
    13             }
    14         } catch (FileNotFoundException e) {
    15             e.printStackTrace();
    16         } catch (IOException e) {
    17             e.printStackTrace();
    18         }
    19     }
    20 }

    IO缓冲流的读取和写入

     1 import java.io.*;
     2 
     3 /**
     4  * IO缓冲字节流的读取
     5  */
     6 public class Test {
     7     public static void main(String[] args) {
     8         try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream("java.txt"));
     9              BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("file" + File.separator + "new.txt"));
    10         ) {
    11             int temp;
    12             while ((temp = bis.read()) != -1) {
    13                 bos.write(temp);
    14             }
    15         } catch (FileNotFoundException e) {
    16             e.printStackTrace();
    17         } catch (IOException e) {
    18             e.printStackTrace();
    19         }
    20     }
    21 }

     IO字符流和缓冲流

    IO字符流的文件拷贝

     1 import java.io.*;
     2 
     3 /**
     4  * IO字符流的文件拷贝
     5  */
     6 public class Test {
     7     public static void main(String[] args) {
     8         try (FileReader fr = new FileReader("java.txt");
     9              FileWriter fw = new FileWriter("file" + File.separator + "new.txt")
    10         ) {
    11             int temp;
    12             while ((temp = fr.read()) != -1) {
    13                 fw.write(temp);
    14             }
    15         } catch (FileNotFoundException e) {
    16             e.printStackTrace();
    17         } catch (IOException e) {
    18             e.printStackTrace();
    19         }
    20     }
    21 }

    IO缓冲字符流的文件拷贝

     1 import java.io.*;
     2 
     3 /**
     4  * IO缓冲字符流的文件拷贝
     5  */
     6 public class Test {
     7     public static void main(String[] args) {
     8         try (
     9                 BufferedReader br = new BufferedReader(new FileReader("java.txt"));
    10                 BufferedWriter bw = new BufferedWriter(new FileWriter("file" + File.separator + "new.txt"))
    11         ) {
    12                 String msg;
    13                 while ((msg = br.readLine()) != null) {
    14                     bw.write(msg);
    15                     bw.newLine();  //换行
    16                     bw.flush();  //刷新
    17                 }
    18 
    19         } catch (FileNotFoundException e) {
    20             e.printStackTrace();
    21         } catch (IOException e) {
    22             e.printStackTrace();
    23         }
    24     }
    25 }

    练习:图片简单的加密和解密

    加密

     1 import java.io.*;
     2 
     3 /**
     4  * 图片的简单加密
     5  * 通过异或的方式
     6  */
     7 public class Test {
     8     public static void main(String[] args) {
     9         try (
    10                 BufferedInputStream bis = new BufferedInputStream(new FileInputStream("file" + File.separator + "123.jpg"));
    11                 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("file" + File.separator + "new123.jpg"))
    12         ) {
    13             int temp;
    14             while ((temp = bis.read()) != -1) {
    15                 bos.write(temp ^ 88);
    16             }
    17         } catch (FileNotFoundException e) {
    18             e.printStackTrace();
    19         } catch (IOException e) {
    20             e.printStackTrace();
    21         }
    22     }
    23 }

    解密

     1 import java.io.*;
     2 
     3 /**
     4  * 图片的简单解密
     5  * 通过异或的方式
     6  */
     7 public class Test {
     8     public static void main(String[] args) {
     9         try (
    10                 BufferedInputStream bis = new BufferedInputStream(new FileInputStream("file" + File.separator + "code.jpg"));
    11                 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("file" + File.separator + "decode.jpg"))
    12         ) {
    13             int temp;
    14             while ((temp = bis.read()) != -1) {
    15                 bos.write(temp ^ 88);
    16             }
    17         } catch (FileNotFoundException e) {
    18             e.printStackTrace();
    19         } catch (IOException e) {
    20             e.printStackTrace();
    21         }
    22     }
    23 }
  • 相关阅读:
    python函数及模块
    Python分支结构及循环结构
    python基本的知识
    11.21学习总结
    进度日报28
    进度日报27
    进度日报26
    进度日报25
    进度日报24
    11.14学习总结
  • 原文地址:https://www.cnblogs.com/xiaowangtongxue/p/10716108.html
Copyright © 2011-2022 走看看