题目:
设计一个方法,用于移除Java文件中的注释,如果注释在后面,或者是/**/风格的注释,暂不用处理
代码如下:
public static void main(String[] args) {
File f = new File("F:\\javaTest.java");
remote(f);
}
public static void remote(File file) {
File f = new File(file.getParent(), "new" + file.getName());
System.out.printf("需要对%s文件进行去注释操作 ", file.getAbsolutePath());
FileReader fr = null;
BufferedReader br = null;
FileWriter fw = null;
PrintWriter pw = null;
try {
fr = new FileReader(file);
br = new BufferedReader(fr);
fw = new FileWriter(f);
pw = new PrintWriter(fw);
while (true) {
String str = br.readLine();
if (str == null) {
break;
}
if (!(str.trim().startsWith("//"))) {
pw.println(str);
pw.flush();
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
pw.close();
fw.close();
br.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
或者可以这样写:
public static void remote(File file) {
File f = new File(file.getParent(), "new" + file.getName());
System.out.println("进行操作的java文件是:" + file.getAbsolutePath());
FileReader fr = null;
BufferedReader br = null;
FileWriter fw = null;
BufferedWriter bw = null;
try {
fr = new FileReader(file);
br = new BufferedReader(fr);
fw = new FileWriter(f);
bw = new BufferedWriter(fw);
while (true) {
String str = br.readLine();
if (str == null)
break;
if (!(str.trim().startsWith("//"))) {
bw.write(str);
bw.newLine();
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bw.close();
fw.close();
br.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}