java学习-文件IO练习

1.移除注释

设计一个方法,用于移除Java文件中的注释

效果图:

 1 package IOTest;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.File;
 5 import java.io.FileReader;
 6 import java.io.FileWriter;
 7 import java.io.IOException;
 8 import java.io.PrintWriter;
 9 
10 public class test {
11 
12     public static void printFile(File newF) {// 逐行打印传进来的文件对象
13         try (FileReader fr = new FileReader(newF); BufferedReader br = new BufferedReader(fr)) {
14             while (true) {
15                 String str = br.readLine();
16                 if (str == null)
17                     break;
18                 System.out.println(str);
19             }
20         } catch (IOException e) {
21             // TODO Auto-generated catch block
22             e.printStackTrace();
23         }
24     }
25 
26     public static void main(String[] args) {
27 
28         File f = new File("F:\\project\\javastudy\\src\\HelloWorld.java");// 原文件f
29         File newF = new File("F:\\project\\javastudy\\src\\HelloWorld2.java");// 删掉含有“//”那一行之后的新建立的文件newF
30 
31         System.out.println("原文件内容是:");
32         printFile(f);// 打印原文件内容
33         try (FileReader fr = new FileReader(f);
34                 FileWriter fw = new FileWriter(newF);
35 
36                 BufferedReader br = new BufferedReader(fr); // 读取每一行要用BufferedReader
37                 PrintWriter pw = new PrintWriter(fw);) {// 写入每一行要用PrintWriter
38             // 原文件f、fr、br;新文件newF、fw、pw
39             while (true) {
40                 String str = br.readLine();
41                 if (str == null)
42                     break;
43                 if (!str.contains("//")) {// 含有注释,则不写入,即把含有注释的那行”删了“
44                     pw.println(str);
45                 }
46 
47             }
48         } catch (IOException e) {
49             // TODO Auto-generated catch block
50             e.printStackTrace();
51         }
52         System.out.println("新文件内容是:");
53         printFile(newF);// 打印文件内容
54     }
55 }

猜你喜欢

转载自www.cnblogs.com/gilgamesh-hjb/p/12193977.html
今日推荐