• I/O之Writer-Reader


      1 import java.io.File;
      2 import java.io.FileNotFoundException;
      3 import java.io.FileReader;
      4 import java.io.FileWriter;
      5 import java.io.IOException;
      6 
      7 import org.junit.Test;
      8 
      9 public class RorW {
     10     // 测试 Reader Writer
     11     @Test
     12     public void test1() {
     13 
     14         // ---------------------创建测试文件---------------------
     15         File file = new File("E:/IO测试/测试.txt");
     16         if (!file.exists()) {
     17             file.getParentFile().mkdirs();
     18             try {
     19                 file.createNewFile();
     20             } catch (IOException e) {
     21                 e.printStackTrace();
     22             }
     23         }
     24 
     25         // ---------------------测试FileWriter-----------------------
     26         FileWriter fw = null;
     27         try {
     28             fw = new FileWriter(file);
     29             fw.write("这是测试输出流");
     30             // fw.write("这是测试输出流覆盖");
     31             // ==========================================================
     32             if (fw != null) {// FileWriter声明的引用,必须flush()和close()后才能重新赋值
     33                 try {
     34                     fw.flush();
     35                 } catch (IOException e) {
     36                     e.printStackTrace();
     37                 }
     38                 try {
     39                     fw.close();
     40                 } catch (IOException e) {
     41                     e.printStackTrace();
     42                 }
     43             }// FileWriter声明的引用,必须flush()和close()后才能重新赋值
     44                 // ==========================================================
     45             fw = new FileWriter(file, true);
     46             fw.write("+这是测试追加输出流");
     47         } catch (IOException e1) {
     48             e1.printStackTrace();
     49         } finally {
     50             if (fw != null) {
     51                 try {
     52                     fw.flush();
     53                 } catch (IOException e) {
     54                     e.printStackTrace();
     55                 }
     56                 try {
     57                     fw.close();
     58                 } catch (IOException e) {
     59                     e.printStackTrace();
     60                 }
     61             }
     62         }
     63 
     64         // ---------------------测试FileReader---------------------
     65         FileReader fr = null;
     66         try {
     67             fr = new FileReader(file);
     68             // ============单次只读取一个字符,返回int型编码
     69             int i = fr.read();
     70             System.out.println(i);
     71             System.out.println((char) i);// 将int型编码强制转换字符输出
     72             // ============
     73             while ((i = fr.read()) != -1) {// 当返回-1时表示到达文件末尾;
     74                 System.out.print((char) i);
     75             }
     76             System.out.println();// 为了输出好看
     77         } catch (FileNotFoundException e) {
     78             e.printStackTrace();
     79         } catch (IOException e) {
     80             e.printStackTrace();
     81         } finally {
     82             // 关闭资源
     83             if (fr != null) {
     84                 try {
     85                     fr.close();
     86                 } catch (IOException e) {
     87                     e.printStackTrace();
     88                 }
     89             }
     90         }
     91 
     92     }
     93 
     94     @Test
     95     public void test2() {
     96         try {
     97             FileReader fr = new FileReader("E:/IO测试/测试.txt");
     98             char[] cbuf = new char[1024];
     99             if (fr.ready()) {
    100                 fr.read(cbuf);
    101                 System.out.println(cbuf);
    102             }
    103         } catch (FileNotFoundException e) {
    104             e.printStackTrace();
    105         } catch (IOException e) {
    106             e.printStackTrace();
    107         }
    108     }
    109 
    110 }
    简简单单,不急不躁,每天充实而稳定的前行!
  • 相关阅读:
    volley框架使用
    Insert Interval
    candy(贪心)
    Best Time to Buy and Sell Stock
    Best Time to Buy and Sell Stock III
    distinct subsequences
    edit distance(编辑距离,两个字符串之间相似性的问题)
    trapping rain water
    word break II(单词切分)
    sudoku solver(数独)
  • 原文地址:https://www.cnblogs.com/tojiayu/p/6050105.html
Copyright © 2020-2023  润新知