第九章输入输出流1-4

Code:
  1. package ch09;   
  2.   
  3. import java.io.BufferedReader;   
  4. import java.io.BufferedWriter;   
  5. import java.io.CharArrayReader;   
  6. import java.io.CharArrayWriter;   
  7. import java.io.File;   
  8. import java.io.FileInputStream;   
  9. import java.io.FileNotFoundException;   
  10. import java.io.FileReader;   
  11. import java.io.FileWriter;   
  12. import java.io.IOException;   
  13. import java.util.Scanner;   
  14.   
  15. class Homeworkch09 {   
  16.     public Homeworkch09() {   
  17.         System.out.println("第九章的课后练习题。");   
  18.     }   
  19.   
  20.     // 1.编写一个应用程序,读取一个文本文件的内容。   
  21.     public void key01() {   
  22.         File file = new File("E:/Workspaced/javaHomeWork""hello.txt"); // 与当前应用程序同一目录   
  23.         // System.out.println(file.getPath());   
  24.         byte b[] = "dd".getBytes();   
  25.         try {   
  26.   
  27.             FileInputStream fis = new FileInputStream(file);   
  28.             int n = 0;   
  29.             // 测试乱码   
  30.             String str = null;   
  31.             while ((n = fis.read(b, 02)) != -1) { // 两个字节读,防止乱码   
  32.                 str = new String(b, 0, n);   
  33.                 System.out.print(str);   
  34.             }   
  35.         } catch (FileNotFoundException e) { // 文件找不到的异常   
  36.             e.printStackTrace();   
  37.         } catch (IOException e) {   
  38.             e.printStackTrace();   
  39.         }   
  40.     }   
  41.   
  42.     // 2.编写一个应用程序,将用户从键盘输入的10行文字存入文件。   
  43.     public void key02() {   
  44.         FileWriter file = null;   
  45.         try {   
  46.             file = new FileWriter("myDoc.txt");   
  47.             BufferedWriter bw = new BufferedWriter(file);   
  48.             for (int i = 0; i < 10; i++) {   
  49.                 Scanner reader = new Scanner(System.in);   
  50.                 bw.write(reader.nextLine());   
  51.                 bw.flush();   
  52.             }   
  53.             file.close();   
  54.             bw.close();   
  55.         } catch (IOException e) {   
  56.             e.printStackTrace();   
  57.         }   
  58.     }   
  59.   
  60.     // 3,使用数组字符流将俄文字母写入内存,然后再从内存读出。   
  61.     /** 答案输出俄文字母是32个,实际是33个,Ё和Е虽然也是两个不同的字母,但只是在口语中有区别,书写或印刷时可以把简略为Е。 */  
  62.     public void key03() {   
  63.   
  64.         int startPosition = (int'А';// 俄文首字母   
  65.         int endPosition = (int'Я'// 俄文末字母   
  66.         System.out.println("俄文字母共有:" + (startPosition - endPosition));   
  67.         // for(int i=1040;i<1072;i++){   
  68.         // System.out.print((char)i);   
  69.         // }   
  70.         int n = -1;   
  71.   
  72.         CharArrayWriter out = new CharArrayWriter();   
  73.         for (int i = startPosition; i <= endPosition; i++) {   
  74.             out.write(i);   
  75.         }   
  76.         CharArrayReader in = new CharArrayReader(out.toCharArray());   
  77.         try {   
  78.             while ((n = in.read()) != -1) {   
  79.                 if (n % 2 == 0) {   
  80.                     System.out.println("/n");   
  81.                 }   
  82.                 System.out.printf("/t位置%d,字符/'%c/'", n, (char) n);   
  83.             }   
  84.         } catch (IOException e) {   
  85.             e.printStackTrace();   
  86.         }   
  87.     }   
  88.   
  89.     // 4、编写一个应用程序,将用户从键盘输入的10个整数存入文件,然后顺序读出。   
  90.     public void key04() {       //=============使用缓冲流=================   
  91.         File file = new File("key04.txt");   
  92.         try {   
  93.             FileWriter out = new FileWriter(file);   
  94.             BufferedWriter out2 = new BufferedWriter(out);   
  95.             int i = 0;   
  96.             while (i < 2) {   
  97.                 Scanner s = new Scanner(System.in);   
  98.                 String str = s.nextLine();   
  99.                 out2.write(str);   
  100.                 out2.newLine();// 写入一个回行   
  101.                 out2.flush(); // 刷新缓冲区   
  102.                 i++;   
  103.             }   
  104.                            
  105.             FileReader in = new FileReader(file);   
  106.             BufferedReader in2 = new BufferedReader(in);   
  107.                
  108.             String integers=null;   
  109.             while(( integers = in2.readLine())!=null){   
  110.                 System.out.println(integers);   
  111.             }      
  112.         } catch (FileNotFoundException e) {   
  113.             e.printStackTrace();   
  114.         } catch (IOException e) {   
  115.             e.printStackTrace();   
  116.         }   
  117.     }   
  118.   
  119. }   
  120.   
  121. public class Ch09_1 {   
  122.   
  123.     public static void main(String[] args) {   
  124.         Homeworkch09 hk = new Homeworkch09();   
  125.         //测试位置         
  126.     }   
  127. }  

 

你可能感兴趣的:(第九章输入输出流1-4)