日期:2014-05-20  浏览次数:20651 次

java文件操作问题,打锅卖铁了
有以下文件树型目录结构,customer是根目录,之后有多个文件夹,


E:\champsys\customer\A0003\2007-01-28\2006527141858308.jpg
E:\champsys\customer\A0003\2007-01-28\panel1.jpg
E:\champsys\customer\A0003\2007-01-28\photo.jpg


E:\champsys\customer\A0003\2007-01-29\panel1.jpg
E:\champsys\customer\A0003\2007-01-29\panel.jpg
E:\champsys\customer\A0003\2007-01-29\photo.jpg

E:\champsys\customer\C1486\2007-02-05\.......


我需要得到如下字符串值
"//customer//A0003//2007-01-28//2006527141858308.jpg,//customer//A0003//2007-01-28//panel1.jpg "

请教一下解决的思路或代码,不甚感激

------解决方案--------------------
找一下相对路径的方法
------解决方案--------------------
那就从第二个/开始获得每个string的substring啊,然后拼成一个新的字符串。。。。。。
------解决方案--------------------
字符串的操作很简单。
问题是怎么得到文件名?
怎么扫描出来?
这个问题怎么解决?
------解决方案--------------------
得到文件路径放到string[]中,循环取得文件路径用string.indexof确定第二个‘\’的位置,然后用substring进行截取,然后使用string.replaceAll把所有的 '\ '替换成 '// ',然后定义一个stringbuffer.append进行添加就可以了,提供个思路,程序你自己编写吧
------解决方案--------------------
问题的关键:找到文件的路径。我还不知道怎么做,类似windows下的文件查找功能(不知道怎么实现的),希望有人指点下。
------解决方案--------------------
这个是简单的递归就可以的啊

public void enumerate(File directory) throws InterruptedException
{
File[] files = directory.listFiles();
for(File file : files)
{
if(file.isDirectory())
{
enumerate(file);
}
else
{
queue.put(file);
}
}
}