题目1:
将项目路径下java_all目录下所有的.java文件复制到项目路径下Java_jad
文件夹下,并将文件名从原来的.java修改成.jad*/
"******************************************************************************
/*题目2:
编写一个程序,把一个目录里边的所有带.java文件拷贝到另一个目录中,
拷贝成功后,把后缀名是.java的文件改为.txt文件。(注意事项:是先拷贝,
拷贝成功后才可以改后缀名的)*/
"(★将以下代码改改路径和扩展名即可★)
/*
思路:
1、用File对象封装目录
2、通过listFiles()方法获取该目录下所有的文件或者文件夹的File对象数组
3、遍历这个File数组,得到每一个File对象
4、判断该File对象是否是文件
a、如果是文件
b、继续判断是否以.java结尾
是:复制文件
在复制完成后改名
否:不复制
*/
//导包
import java.io.IOException;
import java.io.File;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
class FileCopySingleFolderByByte
{
public static void main(String[] args) throws IOException
{
//用File对象封装目录
File srcfile = new File("D:\\demos\\");
//用File对象封装目录
File destFile = new File("D:\\copyTo\\");
//调用复制的方法
copyFile(srcfile,destFile);
}
//复制方法
public static void copyFile(File srcFile, File destFile) throws IOException
{
//通过listFiles()方法获取该目录下所有的文件或者文件夹的File对象数组
File[] fileArray = srcFile.listFiles();
//遍历这个File数组,得到每一个File对象
for(File file : fileArray)
{
//判断该File对象是否是文件
if(file.isFile())
{
//如果不是以java为后缀的不复制,执行下次循环
if(!file.getName().endsWith(".java"))
{
continue;
}
//新文件
File newFile = new File(destFile, file.getName());
//用高效的字节输入流封装数据源
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
//用高效的字节输出流封装目的地
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(newFile));
byte[] bys= new byte[1024];
int len = 0;
//判断是否读到文件结尾
while( (len = bis.read(bys)) != -1 )
{
//将数据写到文件中
bos.write(bys,0,len);
//刷新缓存流
bos.flush();
}
//关闭流对象
bis.close();
bos.close();
//得到新文件名
String newName = newFile.getName().replace(".java",".txt");
//根据新文件名创建新文件对象
File tempFile = new File(destFile,newName);
//改名
newFile.renameTo(tempFile);
}
}
}
}
还是感觉IO流这好重要啊 大家一起努力 一起过点招 |
|