利用递归方法遍历文件存储到指定文件,为何不能遍历尽所有的指定文件?源码如下:

问题描述

利用递归方法遍历文件存储到指定文件,为何不能遍历尽所有的指定文件?源码如下:
import java.io.*;
import java.util.*;
class FileDemo
{
public static void main(String[] args)
{
File dir=new File(""D:"");
//showDir(dir0);
//sop(getSum(10));
//delFile(dir);
List list=new ArrayList();
fileToList(dirlist);
File file=new File(dirjava文件列表.txt"");
writeToFile(listfile.toString());

}public static void writeToFile(List<File> listString javaListFile){//创建文件写入输出流,将集合内文件的据对路径储到指定文件    BufferedWriter bw=null;    try{        bw=new BufferedWriter(new FileWriter(javaListFile));        for(File file:list){            String path=file.getAbsolutePath();            bw.write(path);            bw.newLine();            bw.flush();        }    }    catch(IOException e){            throw new RuntimeException(""写入文件失败"");    }    finally{            try{                if(bw!=null)                    bw.close();            }            catch(IOException ex){                throw new RuntimeException(""流文件不存在"");            }    }}public static void fileToList(File dirList<File> list){//遍历目录,将指定文件存入到参数集合中    File[] files=dir.listFiles();    for(File file:files){        if(file.isDirectory())            fileToList(filelist);        else{            if(file.getName().endsWith("".java""))                list.add(file);        }    }}}

解决方案

你可以参考下改改

  import java.util.*;import java.io.*;public class ReadStringAndPrintPath {    public static void main(String[] args)     {        System.out.println(""Hello World!"");        String str = ""test"";        File file = new File(""a"");        File[] list = file.listFiles();        searchString(liststr);    }    public static void searchString(File[] filesString str){        for(int i = 0 ; i < files.length; i ++){            if(files[i].isFile()){                //是文件,搜索是否存在字符串                try{                    Scanner scan = new Scanner(files[i]);                    while(scan.hasNext()){                        if(scan.nextLine().indexOf(str) != -1){                            System.out.println(files[i].getAbsolutePath());                            break;                        }                    }                }catch(IOException ex){                    ex.printStackTrace();                }            }else{                //是文件夹                File[] list = files[i].listFiles();                searchString(liststr);            }        }    }}

解决方案二:
丢失了哪些文件,看看是不是权限的问题,造成读取失败。

解决方案三:
比如说怎么样的结构遍历不到?觉得逻辑没什么问题,倒是 File[] files=dir.listFiles();之后要检查一下files是否为null,否则遍历到空文件夹会有异常。

解决方案四:
我D盘下又很多java文件,到现在为止,我还是没有找到没有遍历所有java文件的原因,时间紧迫,暂时不找了。有空了接着找原因!谢谢各位!

解决方案五:
grep 递归指定文件遍历方法

时间: 2024-08-04 12:28:51

利用递归方法遍历文件存储到指定文件,为何不能遍历尽所有的指定文件?源码如下:的相关文章

求助好的数据结构存储模式算法来“极速”展开14场胜负彩全复式源码和集合运算!!!

问题描述 500元现金求助"极速"展开14场胜负彩全复式源码和集合运算源码!!!源代码可采用C#/DELPHI7/DELPHI.NET编写要提供可以运行的源码!!!如果使用到第三方插件或控件也要在源程序中给出,如果不能正确生成程序则不算!!对于牛人来说,写"极速"展开14场胜负彩全复式源码和集合运算源码是举手之劳的事情,我只需要简单实现,点击按钮1后,要求"极速"展开14场胜负彩全复式,在某个显示界面中可以看到分页显示的单式,点击按钮2可以将读入

阿里云NAS文件存储部署方案介绍和对比

NAS业务上云的背景 作为国内最大的公有云厂商,阿里云为广大的个人用户.初创团队和企业提供了多种多样的公有云服务,包括弹性计算,数据库,存储和网络等.阿里云弹性伸缩,按需付费,无限容量,便捷使用等特性吸引了大量的客户把他们的应用以及服务部署到阿里云,其中就包括一部分部署NAS应用的客户,对于这些客户,面临的一个问题就是如何以最大的性价比来将原有的NAS应用部署到云上.本文介绍了三种可能的部署方案,并比较了他们的优缺点,包括用户最关心的价格,性能以及扩展性等.   对于企业级NAS应用,大部分企业

实例详解Android文件存储数据方式_Android

总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.下面通过本文给大家介绍Android文件存储数据方式. 1.文件存储数据使用了Java中的IO操作来进行文件的保存和读取,只不过Android在Context类中封装好了输入流和输出流的获取方法. 创建的存储文件保存在/data/data/<package name>/files文件夹下. 2.操作. 保存文件内容:通过Context.openFileOutput获取输出流,参数分别为文件名和存储模式. 读取文件内容:通

Kafka文件存储机制及partition和offset

Kafka是什么 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志.访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目. 1.前言 一个商业化消息队列的性能好坏,其文件存储机制设计是衡量一个消息队列服务技术水平和最关键指标之一. 下面将从Kafka文件存储机制和物理结构角度,分析Kafka是如何实现高效文件存储,及

实例详解Android文件存储数据方式

总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.下面通过本文给大家介绍Android文件存储数据方式. 1.文件存储数据使用了Java中的IO操作来进行文件的保存和读取,只不过Android在Context类中封装好了输入流和输出流的获取方法. 创建的存储文件保存在/data/data/<package name>/files文件夹下. 2.操作. 保存文件内容:通过Context.openFileOutput获取输出流,参数分别为文件名和存储模式. 读取文件内容:通

【文件存储NAS】NAS正式支持经典网络挂载啦!

功能和特点 自今年3月31日正式公测以来,文件存储NAS已经成为了阿里云家族中非常受大家欢迎的产品之一,非常感谢各位用户的鼓励.支持和包容! 阿里云始终将用户的数据安全作为一切工作的核心,因此为了充分打磨和测试经典网络环境中,文件存储的安全能力,保障用户的数据安全,我们没有在公测第一时间就推出经典网络的支持.经过一段时间的验证和测试,即日起 文件存储NAS正式开放支持经典网络ECS虚拟机挂载! 文件存储在经典网络中具备以下功能特点: 易用: 可以为任意文件系统实例创建经典网络挂载点,挂载方式与V

(转载)Kafka文件存储机制那些事

        转自<Kafka文件存储机制那些事>,by美团点评技术团队,地址:http://tech.meituan.com/kafka-fs-design-theory.html         分析的很不错,转载下来!          Kafka是什么 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志.访问日志,消息服务等等,Linkedin于20

基于Hadoop的海量小文件存储方法的研究

基于Hadoop的海量小文件存储方法的研究 时倩 方睿 岳亮 彭榆峰 随着科学技术的发展,各行业及领域需要处理的数据呈爆炸式增长.Hadoop是大文件存储处理的理想平台,但Hadoop在处理海量小文件时的表现并不令人满意.本文首先对HDFS的系统架构作了简要介绍,进而分析了HDFS处理海量小文件时存在的问题,最后介绍了目前国内外对该问题提出的优化方案. 基于Hadoop的海量小文件存储方法的研究

面向HDFS的批量文件存储性能的研究与优化

面向HDFS的批量文件存储性能的研究与优化 南京师范大学  苏义超 本文的主要工作及创新点如下: 1,在研读HDFS系统源代码的基础上,介绍了HDFS典型操作流程和后台管理工作,剖析了HDFS中元数据架构体系和通信机制,讨论了HDFS系统在批量文件处理时面临的一些问题和缺陷. 2,针对批量文件存储时存在的问题,重构了批量文件存储的机制和读写流程.在写入批量用户文件时,Client客户端将批量文件合并成一个组文件,并且创建用户文件.数据片段.组文件.数据块之间的映射元数据,然后将组文件和相关元数据

SpringMVC+BUI实现文件上传(附详解,源码下载)

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 目录(?)[+] 中午有限时间写这博文,前言就不必多说了,直奔主题吧. BUI是一个前端框架,关于BUI的介绍请看博主的文章那些年用过的一些前端框架. 下面我们开始实例的讲解! 一.效果演示: 上传成功后,会发现本地相应的sava目录下多了刚刚上传的图片(因为只是一个例子,就保存在本地目录了). 二.实例讲解 本实例使用的环境,eclipse + maven.  使用的技术:SpringMV