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

java读取文件夹中所有文件
现在我需要读取一个文件夹中的所有文件并存入一个输入流inputstream中  如何实现  麻烦高手指点

------解决方案--------------------
给个思路,首先用数组保存文件夹内所有文件的路径,再用循环一个一个地读
------解决方案--------------------
可以这样搞,
File file = new File("目录路径");
File[] files = file.list();
for(String f : files) {
   if(f.isFile()) {
        FileInputStream fis = new FileInputStream("目录路径"+fileName);
        //再做你想做的
    }
    if(f.isDirectory()) {
        //再处理
    }
}

------解决方案--------------------
引用:
引用:

给个思路,首先用数组保存文件夹内所有文件的路径,再用循环一个一个地读

文件可以迭代的读取  但是不知道怎么把所有文件存入一个流中

这个要先一个文件一个文件地先读到程序中,再写到一个文件,然后再打开文件,这样就可以搞了
------解决方案--------------------
如果你非要读入到一个输入流中的话,那么你可以写每个读出来都写到一个文本里面,然后重新再读这个文本,但是如果你这样做了,那么发送过去的就只有一个流了,那么发过去了需要处理把这个流又重新写成多个文件夹。
------解决方案--------------------
迭代循环
------解决方案--------------------
以下是一个简单的递归的读取文件夹下的文件方法
public class ReadFile {
public static boolean rdFile(String filePath){
File file = new File(filePath);
if(!file.isDirectory()){
System.out.println("文件名:"+file.getName());
}else if(file.isDirectory()){
String[] list = file.list();
for(int i =0;i<list.length;i++){
File files = new File(filePath+"\\"+list[i]);
if(!files.isDirectory()){
System.out.println("文件名:"+files.getName());
}else if(files.isDirectory()){
rdFile(filePath+"\\"+list[i]);
}
}
}
return true;
}
------解决方案--------------------
如果你的文件夹下面还有子文件夹,那你需要递规去读取。