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

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;
}
------解决方案--------------------
如果你的文件夹下面还有子文件夹,那你需要递规去读取。