JAVAÃæÊÔ¾«Ñ¡[JavaËã·¨Óë±à³ÌÒ»](Ò»)

2014-11-24 07:25:57 ¡¤ ×÷Õß: ¡¤ ä¯ÀÀ: 0

¡¡¡¡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