黑马程序员技术交流社区
标题:
遍历文件目录,并且将后缀名改掉,求一个最简单的方法
[打印本页]
作者:
God’s favoure
时间:
2014-11-30 17:34
标题:
遍历文件目录,并且将后缀名改掉,求一个最简单的方法
抛砖引玉:
package maxwell.demo.io;
import java.io.*;
//遍历文件中的内容,并且将后缀名是java的文件改成txt
public class FileInputStreamDemo {
public static void main(String[] args)throws Exception{
//封装源文件目录
File yuan = new File("d:"+File.separator+"news");
//封装目的文件目录
File mudi = new File("c:"+File.separator);
//传入到方法里面
method(yuan,mudi);
}
public static void method(File yuan,File mudi)throws Exception{
//遍历目录,查看是否是多层目录
if(yuan.isDirectory()){
//如果是目录的话,就创建同名的目录,取得文件的名字
File newmudi = new File(mudi,yuan.getName());
newmudi.mkdirs();
//建立数组,将源中的目录存入
File[] files = yuan.listFiles();
//遍历数组并且利用递归进行多级创建
for(File f : files){
method(f,newmudi);
}
}else{
//否则就是文件,创建文件
File file = new File(mudi,yuan.getName());
if(yuan.getName().endsWith("java")){
//获取名字
String s =yuan.getName().substring(0, yuan.getName().length()-4)+"txt";
//创建txt结尾的同名文件
File files = new File(mudi,s);
files.createNewFile();
//调用方法
fileFun(yuan,files);
}else{
fileFun(yuan,file);
}
}
}
public static void fileFun(File yuan,File mudi)throws Exception{
//创建字符流
FileInputStream fis = new FileInputStream(yuan);
FileOutputStream fos = new FileOutputStream(mudi);
int len = 0;
byte[]bytes = new byte[1024];
while((len = fis.read(bytes))!=-1){
fos.write(bytes,0,len);
}
fos.close();
fis.close();
}
}
作者:
Whero
时间:
2014-11-30 19:29
import java.io.File;
/*
* 需求:遍历一个目录,并将该目录下所有后缀为.java的文件改为后缀为.txt
* */
public class ErgodicFile {
public static void main(String[] args)
{
Ergodic(new File("D:/Test_ForComputer"));
}
public static void Ergodic(File dir)
{
File[] files = dir.listFiles();
for (File file : files) {
if (file.isDirectory())
Ergodic(file);
else {
int index = file.getAbsolutePath().indexOf(".java");
if (index != -1) {
String AbsPath = file.getAbsolutePath().substring(0, index) + ".txt";
// System.out.println(AbsPath);
File dest = new File(AbsPath);
file.renameTo(dest);
}
}
}
}
}
复制代码
作者:
DamonZh
时间:
2014-11-30 20:01
Whero 发表于 2014-11-30 19:29
这是在源目录里直接改后缀了?
作者:
Whero
时间:
2014-11-30 20:33
标题:
RE: 遍历文件目录,并且将后缀名改掉,求一个最简单的方法
DamonZh 发表于 2014-11-30 20:01
这是在源目录里直接改后缀了?
嗯哪,我看需求没有什么特殊要求,就直接在源目录改的
作者:
God’s favoure
时间:
2014-12-1 14:16
Whero 发表于 2014-11-30 19:29
很有想法啊.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2