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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

File dir=new File("d:\\java\\testjava");
                File[] files = dir.listFiles();
                for (int x=0;x<files.length;x++)
                {
                        String old = files[x].getName();
                        String value = old.replace(".java", ".txt");
                        files[x].renameTo(new File(value));
                }
这样写的,就是搞不成

10 个回复

正序浏览
SNXJ 中级黑马 2015-1-17 21:50:11
11#
楼上很详细了
回复 使用道具 举报
慢慢来不要急,,多练练就知道了
回复 使用道具 举报
挺好,学习了!
回复 使用道具 举报
看看大神怎么说
回复 使用道具 举报
public class FileList {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                File dir=new File("F:\\javautil");
        File[] files = dir.listFiles();
        for (File file : files)
        {
//                判断是否为文件
                  if(file.isFile()){
//                          判断是否为java文件
                          Pattern p = Pattern.compile(".java");
                          Matcher m = p.matcher(file.getName());
                          if(m.find()){
//                                  获取路径
                              String dirPath = file.getAbsolutePath().substring(0, file.getAbsolutePath().lastIndexOf("\\")+1);
//                            获取文件名
                              String fileName = file.getName();
//                              替换文件名
                              fileName = fileName.replaceAll(".java", ".txt");
//                              修改文件名
                              file.renameTo(new File(dirPath+fileName));
                          }
                  }
        }
        }

}
回复 使用道具 举报
把一个文件夹下的包括子文件夹里的所有.java文件复制到另一个文件夹下面,并改名.txt
你参考下。。。
  1. import java.io.*;  
  2. import java.util.*;  

  3. class CopyRename   
  4. {  
  5.     public static void main(String[] args) throws IOException  
  6.     {  
  7.         //源文件夹  
  8.         File dir = new File("d:\\javademo");  
  9.   
  10.         List<File> list = new ArrayList<File>();
  11.         
  12.         fileToList(dir,list);  
  13.       
  14.         //目标文件夹  
  15.         File filedir = new File("d:\\hahha");  
  16.         if (!filedir.exists())  
  17.                 filedir.mkdir();  
  18.         writeToFile(list,filedir);  
  19.          
  20.     }  
  21.   
  22.     //函数功能,把一个文件夹中包括子文件夹的所有.java文件存到dirlist集合中  
  23.     public static void fileToList(File dir,List<File> list)  
  24.     {  
  25.         File[] files = dir.listFiles();  
  26.         for(File file : files )  
  27.         {  
  28.             if (file.isDirectory())  
  29.                     fileToList(file,list);  
  30.             else  
  31.             {  
  32.                 if (file.getName().endsWith(".java"))  
  33.                     list.add(file);  
  34.             }  
  35.         }  
  36.     }  
  37.   
  38.     //函数功能,用IO字符流操作复制文件,并将.java文件改成.txt  
  39.     public static void writeToFile(List<File> list,File filedir) throws IOException  
  40.     {  
  41.            
  42.            
  43.         //遍历集合  
  44.         for (File file : list)  
  45.         {          
  46.                 BufferedReader bufr = new BufferedReader(new FileReader(file));  
  47.                 String newName = file.getName().replace(".java",".txt");  
  48.                 BufferedWriter bufw = new BufferedWriter(new FileWriter(new File(filedir,newName)));   
  49.             
  50.                 String len = null;  
  51.             while ((len = bufr.readLine()) != null)  
  52.             {  
  53.                     bufw.write(len);  
  54.                     bufw.newLine();  
  55.                     bufw.flush();  
  56.             }  
  57.   
  58.             bufr.close();  
  59.             bufw.close();  
  60.         }  
  61.     }  
  62. }  
复制代码
回复 使用道具 举报
帮顶一下
回复 使用道具 举报

如果文件名中包含.java文件怎么办?例如文件名为:copy.java.java
回复 使用道具 举报
楼上那个就对了 再说你自己写的那个 文件名和扩展名之间少了个“.” 太大意
回复 使用道具 举报
  1. File dir = new File("d:\\java\\testjava");
  2.                 File[] files = dir.listFiles();

  3.                 for (int x = 0; x < files.length; x++) {
  4.                         String old = files[x].getName();
  5.                         String value = old.replace(".java", ".txt");

  6.                         // 需要指定父目录
  7.                         files[x].renameTo(new File(dir, value));

  8.                         // 或者使用下面这种方法
  9.                         // files[x].renameTo(new File(files[x].getAbsolutePath().replace(".java", ".txt")));
  10. }        
复制代码

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马