黑马程序员技术交流社区

标题: 最简单易懂的 "文件 移动重命名" [打印本页]

作者: heima0503    时间: 2015-5-22 01:11
标题: 最简单易懂的 "文件 移动重命名"

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;

/*
*   .java --->  .jadd  ---->  .txt
*/
public class 移动并改名 {
        public static void main(String[] args) throws IOException {

                /**  第一步:   定位目录 */
                File srcFile = new File(".");

                /**  第二步:   创建新目录 */
                File destFile = new File("重命名");
                if(!destFile.exists()){
                        destFile.mkdirs();
                }
               
                /**  第三步:   利用FilenameFilter得到文件名   */
                File[] fileArray = srcFile.listFiles(new FilenameFilter() {
                        @Override
                        public boolean accept(File dir, String name) {
                                return new File(dir, name).isFile() && name.endsWith(".java");
                        }
                });

                /**  第四步:   对得到文件名 进行操作   */
                for (File file : fileArray) {

                        /**  <复制前改名>   */
                       
                        /*  第一步: 得到 老文件名  */
                        String oldName = file.getName();
                       
                        /*  第二步: 得到 新文件名  */
                        String newName = oldName.replace(".java", ".jadd");
                       
                        /*  第三步: 得到 目录 加 新文件名  */
                        File newFile = new File(destFile,newName);
                       
                        /*  第四步: 复制文件操作  */
                        BufferedReader br = new BufferedReader(new FileReader(file));
                        BufferedWriter bw = new BufferedWriter(new FileWriter(newFile));
                        String line = null;
                        while((line=br.readLine())!=null){
                                bw.write(line);
                                bw.newLine();
                                bw.flush();
                        }
                        br.close();
                        bw.close();//必须关闭,否则下面的 renameTo() 无权操作
                }
               
                       
                /**  <复制完毕后再次改名>  */
               
                /*  第一步: 获取 新目录 的所有文件名  */
                File[] destFileArray = destFile.listFiles();
               
                /*  第二步: 对得到文件名 进行操作  */
                for(File file : destFileArray){
                       
                        /*  第A步: 得到 老文件名  */
                        String oldName = file.getName();
                        /*  第B步: 得到 新文件名  */
                        String newName = oldName.replace(".jadd", ".txt");
                       
                        /*  第C步: 得到 目录 加 新文件名  */
                        File newFile = new File(destFile,newName);
                       
                        /*  第D步: renameTo() 方法   */
                        System.out.println(file.renameTo(newFile));
                }
        }
}



作者: heima0503    时间: 2015-5-23 01:09
这是我的见解
作者: 王建伟    时间: 2015-5-23 07:58
赞一个,还没有学到那




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2