比如我有两个文件夹,
一个文件夹E:\r\01里面的文件名依次是01-0001.txt 01-0002.txt .......01-0999.txt
另一个文件夹E:/OstuBin_m里面的图片文件名依次01-000001-1_b.jpg 01-000051-1_b.jpg 01-000101-1_b.jpg......01-047151-1_b.jpg
两个文件夹中的文件一一对应,现在用一个java程序来把所有txt后缀的文件名都改成跟对应的.jpg文件名一样,也就是除了后缀都改成一样的。但是下面的程序一直无法更改,renameTo函数一直返回false,郁闷了
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class Test { /**
* @param args
*/
public static void main(String[] args) { File dir_srcF = new File("E:/r/01");
File dir_destF = new File("E:/OstuBin_m");
//存放目录中所有文件名的数组
String filename1[] = dir_srcF.list();
String filename2[] = dir_destF.list(); //文件目录前缀
String dir_dest = "E:/OstuBin_m/";
String dir_src = "E:/r/01/";
//文件完整路径
String path_src;
String path_dest;
//File src_name = dir1+ filename1[0];
//File dest_name = dir2 + filename2[0];
//存放所有文件完整路径的链表
List namelist_of_dirS = new ArrayList();
List namelist_of_dirD = new ArrayList();
for(int i=0;i<filename1.length;i++)
{
path_src = dir_src + filename1[i];
path_dest = dir_dest + filename2[i];
System.out.println(path_src+"------>"+path_dest);
//namelist_of_dirS.add(path_dest);
namelist_of_dirS.add(path_src);
namelist_of_dirD.add(path_dest);
}
//File file_src = new File((String)namelist_of_dirS.get(0));
//File file_dest = new File((String)namelist_of_dirD.get(0));
//System.out.println(file_src.renameTo(file_dest));
// File temp = new File(dir_dest+"01_000001-1_b.txt");
//System.out.println(file_src.exists());
//System.out.println(temp.exists());
//System.out.println(file_src.renameTo(file_dest));
//System.out.print("press anykey to continue!");
for(int i=0;i<filename1.length;i++)
{
File file_src = new File((String)namelist_of_dirS.get(0));
File file_dest = new File((String)namelist_of_dirD.get(0));
System.out.println(file_src.renameTo(file_dest));
}
System.out.print("done");
return ;
}}
一个文件夹E:\r\01里面的文件名依次是01-0001.txt 01-0002.txt .......01-0999.txt
另一个文件夹E:/OstuBin_m里面的图片文件名依次01-000001-1_b.jpg 01-000051-1_b.jpg 01-000101-1_b.jpg......01-047151-1_b.jpg
两个文件夹中的文件一一对应,现在用一个java程序来把所有txt后缀的文件名都改成跟对应的.jpg文件名一样,也就是除了后缀都改成一样的。但是下面的程序一直无法更改,renameTo函数一直返回false,郁闷了
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class Test { /**
* @param args
*/
public static void main(String[] args) { File dir_srcF = new File("E:/r/01");
File dir_destF = new File("E:/OstuBin_m");
//存放目录中所有文件名的数组
String filename1[] = dir_srcF.list();
String filename2[] = dir_destF.list(); //文件目录前缀
String dir_dest = "E:/OstuBin_m/";
String dir_src = "E:/r/01/";
//文件完整路径
String path_src;
String path_dest;
//File src_name = dir1+ filename1[0];
//File dest_name = dir2 + filename2[0];
//存放所有文件完整路径的链表
List namelist_of_dirS = new ArrayList();
List namelist_of_dirD = new ArrayList();
for(int i=0;i<filename1.length;i++)
{
path_src = dir_src + filename1[i];
path_dest = dir_dest + filename2[i];
System.out.println(path_src+"------>"+path_dest);
//namelist_of_dirS.add(path_dest);
namelist_of_dirS.add(path_src);
namelist_of_dirD.add(path_dest);
}
//File file_src = new File((String)namelist_of_dirS.get(0));
//File file_dest = new File((String)namelist_of_dirD.get(0));
//System.out.println(file_src.renameTo(file_dest));
// File temp = new File(dir_dest+"01_000001-1_b.txt");
//System.out.println(file_src.exists());
//System.out.println(temp.exists());
//System.out.println(file_src.renameTo(file_dest));
//System.out.print("press anykey to continue!");
for(int i=0;i<filename1.length;i++)
{
File file_src = new File((String)namelist_of_dirS.get(0));
File file_dest = new File((String)namelist_of_dirD.get(0));
System.out.println(file_src.renameTo(file_dest));
}
System.out.print("done");
return ;
}}
不好意思,程序贴错了,是下面这个
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class Test { /**
* @param args
*/
public static void main(String[] args) { File dir_srcF = new File("E:/r/01");
File dir_destF = new File("E:/OstuBin_m");
//存放目录中所有文件名的数组
String filename1[] = dir_srcF.list();
String filename2[] = dir_destF.list(); //文件目录前缀
String dir_dest = "E:/OstuBin_m/";
String dir_src = "E:/r/01/";
//文件完整路径
String path_src;
String path_dest;
//File src_name = dir1+ filename1[0];
//File dest_name = dir2 + filename2[0];
//存放所有文件完整路径的链表
List namelist_of_dirS = new ArrayList();
List namelist_of_dirD = new ArrayList();
for(int i=0;i<filename1.length;i++)
{
path_src = dir_src + filename1[i];
path_dest = dir_dest + filename2[i];
System.out.println(path_src+"------>"+path_dest);
//namelist_of_dirS.add(path_dest);
namelist_of_dirS.add(path_src);
namelist_of_dirD.add(path_dest);
}
//File file_src = new File((String)namelist_of_dirS.get(0));
//File file_dest = new File((String)namelist_of_dirD.get(0));
//System.out.println(file_src.renameTo(file_dest));
// File temp = new File(dir_dest+"01_000001-1_b.txt");
//System.out.println(file_src.exists());
//System.out.println(temp.exists());
//System.out.println(file_src.renameTo(file_dest));
//System.out.print("press anykey to continue!");
for(int i=0;i<filename1.length;i++)
{
File file_src = new File((String)namelist_of_dirS.get(i));
File file_dest = new File((String)namelist_of_dirD.get(i));
System.out.println(file_src.renameTo(file_dest));
}
System.out.print("done");
return ;
}}
我看到你的前2个文件名 猜想出这样的对应法 result = 1 + (n-1)*50 其中n = 1,2...999
就是
01-0001.txt ------------> 01-000001-1_b.jpg
01-0002.txt ------------> 01-000051-1_b.jpg
01-0003.txt ------------> 01-000101-1_b.jpg
01-0999.txt ------------> 01-049901-1_b.jpg最后一个怎么回事了?????????????????对不上题目了
楼主 拜托了,出题之前 说具体点,别搞那么抽象. 别以为大家都懂你的意思 要不大家时间给你浪费了