/*每当我想运行牛人的源代码时整会被它左侧的显示行数的数字和点号所困扰,
苦于不知如何快速的删除那些多余的东西,为了让程序能顺利运行,故写了这么断代码,
不足之处希望各位多多提出宝贵意见。
*/
import java.io.*;
import static java.lang.System.*;
public class FileOperation { //能基本实现消除javaEye内1000行以内的代码左侧显示行数的数字和'.'号
public static void main(String[] args) {
FileReader output = null;
FileWriter input = null;
try {
output = new FileReader("d:/aa.txt"); //源文件存于此去
input = new FileWriter("d:/bb.txt"); //修改后的文件存于此,能复制粘贴后直接到IDE中运行
int c;
int a1,a2,a3,a4;
while((c=output.read())!=-1) {
//0的ASCII是48,'.'的ASCII是46
if(c>=48&&c<=57) {
a1=c ;
c=output.read();
a2=c;
if(a2==46) {
continue;
}
else if((a2>=48&&a2<=57)&&a2!=-1) {
c=output.read();
a3=c;
if(a3==46) {
continue;
}
else if(((a3>=48&&a3<=57)&&a3!=-1)){
c=output.read();
a4=c;
if(a4==46) {
continue;
}
else if((a4!=46||a4<48||a4>57)&&a4!=-1) {
out.print( (char)a1);
out.print( (char)a2);
out.print( (char)a3);
out.print( (char)a4);
input.write((char)a1);
input.write((char)a2);
input.write((char)a3);
input.write((char)a4);
continue;
}
}
else if((a3!=46||a3<48||a3>57)&&a3!=-1) {
out.print( (char)a1);
out.print( (char)a2);
out.print( (char)a3);
input.write((char)a1);
input.write((char)a2);
input.write((char)a3);
continue;
}
}
else {
out.print( (char)a1);
out.print( (char)a2);
input.write((char)a1);
input.write((char)a2);
continue;
}
}
out.print( (char)c);
input.write((char)c);
}
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
finally {
if(output!=null) {
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(input!=null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}