本帖最后由 Jam-l 于 2013-10-11 17:48 编辑
今天下午面试完了,面试成绩39分还好,面试中问到了一个复制文件夹的问题,由于描述不是很清楚.这是之前自己写的一个代码,其有些判断文件存在的问题没有完善.不过大概也可以完成对文件夹的复制,并把复制文件夹下的.java文件转换成.txt文件.以下是代码:- <p>/*
- * 复制一个文件夹
- */
- public class Demo4 {
- public static void main(String[] args) {
- File srcDir = new File("G:\\123");
- File destDir = new File("G:\\321");
- destDir.mkdir();
- findFile(srcDir,destDir);
- }</p><p>private static void findFile(File srcDir, File destDir) {
- File[] files = srcDir.listFiles();
- for(File file:files){
- if(file.isDirectory()){
- String dirName = file.getName();
- File newDir = new File(destDir+"\\"+dirName);
- newDir.mkdir();
- findFile(file, newDir);
- }else{
- try {
- String fileName = file.getName();
- String[] str = fileName.split("\\.");
- File newFile = new File(destDir+"\\"+str[0]+".txt");
- newFile.createNewFile();
- copyFile(file,newFile);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }</p><p> private static void copyFile(File file,File newFile) {
- try {
- BufferedReader bufr = new BufferedReader(new FileReader(file));
- BufferedWriter bufw = new BufferedWriter(new FileWriter(newFile));
- String line = null;
- while((line=bufr.readLine())!=null){
- bufw.write(line);
- }
- bufr.close();
- bufw.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- }
- }</p>
复制代码 |
|