编写程序,将指定目录下所有.java 文件拷贝到另一个目的中,并将扩展名改为.txt。

Posted 暴走灬青春

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写程序,将指定目录下所有.java 文件拷贝到另一个目的中,并将扩展名改为.txt。相关的知识,希望对你有一定的参考价值。

package com.heima.test;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;

import javax.imageio.stream.FileImageInputStream;

public class Test02 

    /**编写程序,将指定目录下所有.java 文件拷贝到另一个目的中,并将扩展名改为.txt。
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException 
        File src = getDir();
        File dest = getDir();
        copy(src,dest);
        reName(dest);
    

    public static void reName(File dest) 
        File [] subFiles = dest.listFiles();
        for (File subFile : subFiles) 
            if(subFile.isFile())
                if(subFile.getName().endsWith(".java"))
                    System.out.println(subFile.getPath().replaceAll("\\\\.java", ".txt"));
                    File newName = new File(subFile.getPath().replaceAll("\\\\.java", ".txt"));
                    subFile.renameTo(newName);
                
            else
                reName(subFile);
            
        
    

    public static void copy(File src, File dest) throws IOException 
        File newDir = new File(dest,src.getName());
        newDir.mkdir();
        File []subFiles = src.listFiles();
        for (File subFile : subFiles) 
            if(subFile.isFile())
                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(subFile));
                BufferedOutputStream bos = 
                        new BufferedOutputStream(new FileOutputStream(new File(newDir,subFile.getName())));     
                int len;
                while((len = bis.read()) != -1)
                    bos.write(len);
                
                bis.close();
                bos.close();
            else
                copy(subFile, newDir);
            

        
    

    public static File getDir() 
        Scanner sc = new Scanner(System.in);
        System.out.println("输入文件夹路径:");
        while(true)
            String line = sc.nextLine();
            File dir = new File(line);
            if(!dir.exists())
                System.out.println("文件夹路径不存在!重输:");
            else if(dir.isFile())
                System.out.println("不是文件夹,是文件!重输:");
            else
                return dir;
            
        
    


以上是关于编写程序,将指定目录下所有.java 文件拷贝到另一个目的中,并将扩展名改为.txt。的主要内容,如果未能解决你的问题,请参考以下文章

java如何拷贝文件到另一个目录下

编写一个程序将d:java目录下的所有.java文件复制到d:jad目录下,并将原来文件的扩展名从.java改为.jad

编写一个程序将d:java目录下的所有.java文件复制到d:jad目录下,并将原来文件的扩展名从.java改为.jad

java如何查找指定目录下的最新文件

如何拷贝文件到当前目录

linux怎么将一个文件移动到另一个目录下