A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


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));
                }
        }
}


2 个回复

倒序浏览
这是我的见解
回复 使用道具 举报
赞一个,还没有学到那
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马