¡¡¡¡1¡¢±àдһ¸ö³ÌÐò£¬½«a.txtÎļþÖеĵ¥´ÊÓëb.txtÎļþÖеĵ¥´Ê½»ÌæºÏ²¢µ½c.txtÎļþÖУ¬a.txtÎļþÖеĵ¥´ÊÓûسµ·û·Ö¸ô£¬b.txtÎļþÖÐÓûسµ»ò¿Õ¸ñ½øÐзָô¡£
´ð£º
packagecn.itcast;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class MainClass{
public static voidmain(String[] args) throws Exception{
FileManager a= new FileManager("a.txt",new char[]{'\n'});
FileManager b= new FileManager("b.txt",new char[]{'\n',' '});
FileWriter c= new FileWriter("c.txt");
String aWord= null;
String bWord= null;
while((aWord= a.nextWord()) !=null ){
c.write(aWord+ "\n");
bWord= b.nextWord();
if(bWord!= null)
c.write(bWord+ "\n");
}
while((bWord= b.nextWord()) != null){
c.write(bWord+ "\n");
}
c.close();
}
}
class FileManager{
String[] words =null;
int pos = 0;
publicFileManager(String filename,char[] seperators) throws Exception{
File f = newFile(filename);
FileReaderreader = new FileReader(f);
char[] buf =new char[(int)f.length()];
int len =reader.read(buf);
Stringresults = new String(buf,0,len);
String regex= null;
if(seperators.length>1 ){
regex= "" + seperators[0] + "|" + seperators[1];
}else{
regex= "" + seperators[0];
}
words =results.split(regex);
}
public StringnextWord(){
if(pos ==words.length)
returnnull;
returnwords[pos++];
}
}
¡¡¡¡2¡¢±àдһ¸ö³ÌÐò£¬½«d:\javaĿ¼ÏµÄËùÓÐ.javaÎļþ¸´ÖƵ½d:\jadĿ¼Ï£¬²¢½«ÔÀ´ÎļþµÄÀ©Õ¹Ãû´Ó.java¸ÄΪ.jad¡£
£¨´ó¼ÒÕýÔÚ×öÉÏÃæÕâµÀÌâ£¬ÍøÉϳٵ½µÄÅóÓÑÒ²Çë×ö×öÕâµÀÌ⣬ÕÒ¹¤×÷±ØÐëÄܱàдÕâЩ¼òµ¥ÎÊÌâµÄ´úÂ룡£©
´ð£ºlistFiles·½·¨½ÓÊÜÒ»¸öFileFilter¶ÔÏó£¬Õâ¸öFileFilter¶ÔÏó¾ÍÊǹýÂǵIJßÂÔ¶ÔÏ󣬲»Í¬µÄÈËÌṩ²»Í¬µÄFileFilterʵÏÖ£¬¼´ÌṩÁ˲»Í¬µÄ¹ýÂ˲ßÂÔ¡£
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class Jad2Java {
public static voidmain(String[] args) throws Exception {
File srcDir =new File("java");
if(!(srcDir.exists()&& srcDir.isDirectory()))
thrownew Exception("Ŀ¼²»´æÔÚ");
File[] files= srcDir.listFiles(
newFilenameFilter(){
publicboolean accept(File dir, String name) {
returnname.endsWith(".java");
}
}
);
System.out.println(files.length);
File destDir= new File("jad");
if(!destDir.exists())destDir.mkdir();
for(File f:files){
FileInputStream fis = new FileInputStream(f);
StringdestFileName = f.getName().replaceAll("\\.java$", ".jad");
FileOutputStreamfos = new FileOutputStream(new File(destDir,destFileName));
copy(fis,fos);
fis.close();
fos.close();
}
}
private static voidcopy(InputStream ips,OutputStream ops) throws Exception{
int len = 0;
byte[] buf =new byte[1024];
while((len =ips.read(buf)) != -1){
ops.write(buf,0,len);
}
}
}
Óɱ¾Ìâ×ܽáµÄ˼Ïë¼°²ßÂÔģʽµÄ½âÎö£º
1.
class jad2java{
1. µÃµ½Ä³¸öĿ¼ÏµÄËùÓеÄjavaÎļþ¼¯ºÏ
1.1 µÃµ½Ä¿Â¼ File srcDir = newFile("d:\\java");
1.2 µÃµ½Ä¿Â¼ÏµÄËùÓÐjavaÎļþ£ºFile[] files =srcDir.listFiles(new MyFileFilter());
1.3 Ö»ÏëµÃµ½.javaµÄÎļþ£º class MyFileFilterimplememyts FileFilter{
publicboolean accept(File pathname){
returnpathname.getName().endsWith(".java")
}
}
2.½«Ã¿¸öÎļþ¸´ÖƵ½ÁíÍâÒ»¸öĿ¼£¬²¢¸ÄÀ©Õ¹Ãû
2.1 µÃµ½Ä¿±êĿ¼£¬Èç¹ûÄ¿±êĿ¼²»´æÔÚ£¬Ôò´´½¨Ö®
2.2 ¸ù¾ÝÔ´ÎļþÃûµÃµ½Ä¿±êÎļþÃû£¬×¢ÒâÒªÓÃÕýÔò±í´ïʽ£¬×¢Òâ.µÄתÒå¡£
2.3 ¸ù¾Ý±íʾĿ¼µÄFileºÍÄ¿±êÎļþÃûµÄ×Ö·û´®£¬µÃµ½±íʾĿ±êÎļþµÄFile¡£
//ÒªÔÚÓ²ÅÌÖÐ׼ȷµØ´´½¨³öÒ»¸öÎļþ£¬ÐèÒªÖªµÀÎļþÃûºÍÎļþµÄĿ¼¡£
2.4 ½«Ô´ÎļþµÄÁ÷¿½±´³ÉÄ¿±êÎļþÁ÷£¬¿½±´·½·¨¶ÀÁ¢³ÉΪһ¸ö·½·¨£¬·½·¨µÄ²ÎÊý²ÉÓóéÏóÁ÷µÄÐÎʽ¡£
//·½·¨½ÓÊܵIJÎÊýÀàÐ;¡Á¿ÃæÏò¸¸À࣬Խ³éÏóÔ½ºÃ£¬ÕâÑùÊÊÓ¦Ãæ¸ü¿í¹ã¡£
}
·ÖÎölistFiles·½·¨ÄÚ²¿µÄ²ßÂÔģʽʵÏÖÔÀí
File[] listFiles(FileFilter filter){
File[] files =listFiles();
//Arra