设计一个方法,用于移除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 }
原文:https://www.cnblogs.com/gilgamesh-hjb/p/12193977.html