微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java文件操作之按行读取文件和遍历目录的方法

这篇文章主要介绍了Java文件操作之按行读取文件和递归遍历目录的方法,遍历目录文中分别举了递归和非递归的例子,需要的朋友可以参考下

按行读取文件

package test; import java.io.*; import java.util.*; public class ReadTest { public static List first_list; public static List second_list; public Readtest() { first_list = new LinkedList(); second_list = new LinkedList(); } public static void ReadFile() { final String filename = "d://aa.txt"; String str = null; int i = 0; try { LineNumberReader reader = null; reader = new LineNumberReader(new FileReader(filename)); while ((str = reader.readLine()) != null) { if (!str.isEmpty()) { String values[] = str.split(" "); first_list.add(values[0]); second_list.add(values[1]); } } } catch (IOException e) { e.printstacktrace(); } } public static void main(String args[]) { ReadTest reader = new Readtest(); reader.ReadFile(); for (int i = 0; i

递归遍历目录

class ListFiles{ public static ArrayList filelist = new ArrayList(); public static void listfiles(String dir){ File file = new File(dir); File[] files = file.listFiles(); if(null == files){ return; } for(int i = 0; i上面遍历目录是一种递归的方法,我们再来看一下非递归的实现://非递归 public static void scanDirnorecursion(String path){ LinkedList list = new LinkedList(); File dir = new File(path); File file[] = dir.listFiles(); for (int i = 0; i我们可以写一个类来简单测试一下:import java.io.File; import java.util.LinkedList; public class FileSystem { public static int num; public static void main(String[] args) { long a = System.currentTimeMillis(); //String path="c:"; num=0; String[] lists={"c:","d:"}; /* for(int i=0;i测试结果:递归:文件总数:189497  总耗时:39328非递归:文件总数:189432 总耗时:37469这里非递归相对要好~

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐