JAVA文件扫描(递归)的实例代码

具体代码如下所示:

import java.io.File;
public class Scan {
  public static void main(String[] args) {
    String fileName = "D:\\Program Files\\腾讯游戏\\英雄联盟" + File.separator;
    File f = new File(fileName);
    scan(f);
  }
  public static void scan(File f) {
    if (f != null) {
      if (f.isDirectory()) {
        File[] fileArray = f.listFiles();
        if (fileArray != null) {
          for (int i = 0; i < fileArray.length; i++) {
            // 递归调用
            scan(fileArray[i]);
          }
        }
      } else {
        System.out.println(f);
      }
    }
  }
}

扫描了“D:\\Program Files\\腾讯游戏\\英雄联盟”中的所有文件

而下面这个可以进行文件的扫描和读取

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
public class TextReader {
  public static void main(String[] args) {
    String fileName = "E:\\JavaWorkSpace\\Workspaces\\eclipse" + File.separator;
    File f = new File(fileName);
    scan(f);
  }
  public static void scan(File f) {
    if (f != null) {
      if (f.isDirectory()) {
        File[] fileArray = f.listFiles();
        if (fileArray != null) {
          for (int i = 0; i < fileArray.length; i++) {
            // 递归调用
            scan(fileArray[i]);
          }
        }
      } else {
        if ((f.getName().substring(f.getName().lastIndexOf(".") + 1, f
            .getName().length())).equals("java")) {
          FileReader reader;
          try {
            Thread.sleep(3000);
            reader = new FileReader(f);
            BufferedReader Bufferedreader = new BufferedReader(
                reader);
            String content = "";
            while ((content = Bufferedreader.readLine()) != null) {
              System.out.println(content);
            }
          } catch (Exception e) {
            // TODO Auto-generated catch block
          }
        }
      }
    }
  }
}

总结

以上所述是小编给大家介绍的JAVA文件扫描(递归)的实例代码 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • Java 跳出递归循环问题解决办法

    使用异常跳出循环 1.如果方法体内含有需要抛出异常的对象,让方法直接抛出异常,不要在方法体内捕获 public void xxxx() throws Exception 2.如果方法体内不含有需要抛出异常的对象 class Test { static class StopMsgException extends RuntimeException { } public static void main(String args[]) { try { run(0); } catch (StopMsgE

  • Java递归方法求5!的实现代码

    题目:利用递归方法求5!. 程序分析:递归公式:fn=fn_1*4! 程序设计: import java.util.Scanner; public class Ex22 { public static void main(String[] args) { Scanner s = new Scanner(System.in); int n = s.nextInt(); Ex22 tfr = new Ex22(); System.out.println(tfr.recursion(n)); } pu

  • Java扫描文件夹下所有文件名

    MIS内容项目系统,基于文档资源管理管理的,需要扫描一个文件夹下面的所有文件,需求的代码实现. package q.test.filescanner; import java.io.File; import java.util.ArrayList; import java.util.LinkedList; import q.test.filescanner.exception.ScanFilesException; /** * @author */ public class FolderFile

  • Java递归算法经典实例(经典兔子问题)

    题目:古典问题:3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析:首先我们要明白题目的意思指的是每个月的兔子总对数:假设将兔子分为小中大三种,兔子从出生后三个月后每个月就会生出一对兔子, 那么我们假定第一个月的兔子为小兔子,第二个月为中兔子,第三个月之后就为大兔子,那么第一个月分别有1.0.0,第二个月分别为0.1.0, 第三个月分别为1.0.1,第四个月分别为,1.1.1,第五个月分别为2.1.2,第六个月分别为3.2.3,第

  • Java中的迭代和递归详解

    前言 最近在看书的时候看到这一内容,感觉还是蛮有收获的.迭代使用的是循环(for,while,do...wile)或者迭代器,当循环条件不满足时退出.而递归,一般是函数递归,可以是自身调用自身,也可以是非直接调用,即方法A调用方法B,而方法B反过来调用方法A,递归退出的条件为if,else语句,当条件符合基的时候退出. 上面是迭代和递归的语法特性,他们在Java中有什么不同呢?下面通过这篇文章来详细了解了解. 一.递归 提到迭代,不得不提一个数学表达式: n!=n*(n-1)*(n-2)*...

  • Java算法之递归算法计算阶乘

    本文为大家分享的java算法计算阶乘,在学习Java课程时经常会遇到求阶乘问题,今天接跟大家一起探讨一下 代码如下: package com.xu.main; import java.util.Scanner; public class P9 { static long fact(int n) { if(n <= 1) { return 1; } else { return n * fact(n - 1); } } public static void main(String[] args) {

  • Java递归遍历树形结构

    废话不多说了,直接给大家贴代码,具体代码如下所示: //菜单树形结构 public JSONArray treeMenuList(JSONArray menuList, int parentId) { JSONArray childMenu = new JSONArray(); for (Object object : menuList) { JSONObject jsonMenu = JSONObject.fromObject(object); int menuId = jsonMenu.ge

  • java递归与非递归实现扫描文件夹下所有文件

    java扫描指定文件夹下面的所有文件,供大家参考,具体内容如下 扫描一个文件夹下面的所有文件,因为文件夹的层数没有限制可能多达几十层几百层,通常会采用两种方式来遍历指定文件夹下面的所有文件. 递归方式 非递归方式(采用队列或者栈实现) 下面我就给出两种方式的实现代码,包括了递归与非递归实现,code如下所示. java代码: package q.test.filescanner; import java.io.File; import java.util.ArrayList; import ja

  • 使用递归删除树形结构的所有子节点(java和mysql实现)

    1.业务场景 有如下树形结构: +-0 +-1 +-2 +-4 +-5 +-3 如果删除某个父节点,则其子节点,以及其子节点的子节点,以此类推,需要全部删除. 2.Java实现 使用Map存储树形结构的数据,id为map的key,pid为树形结构的value. import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.uti

  • Java文件快速copy复制实例代码

    前言 最近学习netty的时候发现nio包下有个FileChannel类,经过了解这个类作用是个专门负责传输文件的通道,支持多线程,而且经过反复多次测试FileChannel复制文件的速度比BufferedInputStream/BufferedOutputStream复制文件的速度快了近三分之一.在复制大文件的时候更加体现出FileChannel的速度优势.而且FileChannel是多并发线程安全的.代码也比较简洁 代码贴下 package com.niu.nio; import java.

  • JAVA文件扫描(递归)的实例代码

    具体代码如下所示: import java.io.File; public class Scan { public static void main(String[] args) { String fileName = "D:\\Program Files\\腾讯游戏\\英雄联盟" + File.separator; File f = new File(fileName); scan(f); } public static void scan(File f) { if (f != nu

  • Java防止文件被篡改之文件校验功能的实例代码

    1.为什么要防止文件被篡改? 答案是显然的,为了保证版权,系统安全性等.之前公司开发一个系统,技术核心是一个科学院院士的研究成果,作为一款商业软件来说,保证公司及作者版权是非常重要的.系统安全性就更不用说了,系统两三下就被搞垮了,那这个系统就不算是一个合格的系统. 2.文件校验和作用 我们都知道,一个系统或者软件都是由众多文件组成的.文件校验和的作用就是保证系统版本的正确性和唯一性.具体原理下面会详细解释. 3.文件校验和的原理 思路和实现的方式可能多种多样,我说的是自己的思路和实现方式,请读者

  • java 实现文件夹的拷贝实例代码

    java 实现文件夹的拷贝实例代码         这里就直接上代码,废话不多说,很简单很实用. 实例代码: import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; public class CopyFile { public static void copy(String sourceFile , Str

  • Java与WebUploader相结合实现文件上传功能(实例代码)

    之前自己写小项目的时候也碰到过文件上传的问题,没有找到很好的解决方案.虽然之前网找各种解决方案的时候也看到过WebUploader,但没有进一步深究.这次稍微深入了解了些,这里也做个小结. 简单的文件和普通数据上传并保存 jsp页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE h

  • java向文件中追加内容与读写文件内容源码实例代码

    java向文件中追加内容与读写文件内容源码实例代码 向文件尾加入内容有多种方法,常见的方法有两种: RandomAccessFile类可以实现随机访问文件的功能,可以以读写方式打开文件夹的输出流 public void seek(long pos)可以将读写指针移到文件尾,参数Pos表示从文件开头以字节为单位测量的偏移位置,在该位置文件指针. public void write(int pos)将数据写到读写指针后面,完成文件的追加.参数pos表示要写入的Byte 通过FileWrite打开文件

  • Java实现文件监控器FileMonitor的实例代码

    应用场景: 代码可以实现文件变化后的监听,如文件变化,自动重新加载文件内容,实现配置文件的热部署. 代码: package com.yx.demo.filemonitor; import java.io.File; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterat

  • JAVA获取当前项目和文件所在路径的实例代码

    直接上代码: //当前项目下路径 File file = new File(""); String filePath = file.getCanonicalPath(); System.out.println(filePath); //当前项目下xml文件夹 File file1 = new File(""); String filePath1 = file1.getCanonicalPath()+File.separator+"xml\\";

  • Java实现单链表翻转实例代码

    Java实现单链表反转,递归和非递归两种形式 /** * 反转单链表 */ /** * 定义链表 * * @author 16026 * */ class Node { int val; Node next; public Node(int val) { this.val = val; } } public class ReverseList { /** * 反转链表 * * @param head * @return */ public static Node reverseList(Node

  • Java实现FTP服务器功能实例代码

    FTP(File Transfer Protocol 文件传输协议)是Internet 上用来传送文件的协议.在Internet上通过FTP 服务器可以进行文件的上传(Upload)或下载(Download).FTP是实时联机服务,在使用它之前必须是具有该服务的一个用户(用户名和口令),工作时客户端必须先登录到作为服务器一方的计算机上,用户登录后可以进行文件搜索和文件传送等有关操作,如改变当前工作目录.列文件目录.设置传输参数及传送文件等.使用FTP可以传送所有类型的文件,如文本文件.二进制可执

随机推荐