Java递归读取文件路径下所有文件名称并保存为Txt文档
本文用递归的方法实现读取一个路径下面的所有文件并将文件名称保存到Txt文件中,亲测可用。
递归读取文件路径下的所有文件:
/**
* 递归读取文件路径下的所有文件
*
* @param path
* @param fileNameList
* @return
*/
public static ArrayList<String> readFiles1(String path, ArrayList<String> fileNameList) {
File file = new File(path);
if (file.isDirectory()) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
readFiles1(files[i].getPath(), fileNameList);
} else {
String path1 = files[i].getPath();
String fileName = path1.substring(path1.lastIndexOf("\\") + 1);
fileNameList.add(fileName);
}
}
} else {
String path1 = file.getPath();
String fileName = path1.substring(path1.lastIndexOf("\\") + 1);
fileNameList.add(fileName);
}
return fileNameList;
}
将内容输出到(追加)txt文件保存:
/**
* 将内容输出到(追加)txt文件保存
*
* @param content
* @throws IOException
*/
public static void outputToTxt(String content, String outputPath) throws IOException {
FileWriter fw = new FileWriter(outputPath, true);//追加内容
PrintWriter pw = new PrintWriter(fw);
pw.println(content);
pw.close();
fw.close();
pw.flush();
}
测试:
进行测试,读取“E:\图书\图书馆\小说杂文”下的所有文件,并将结果输出到
“C:\Users\Administrator\Desktop\fileNameList.txt”中。测试代码如下:
public static void main(String[] args) {
String filePath = "E:\\图书\\图书馆\\小说杂文";
String outputPath1 = "C:\\Users\\Administrator\\Desktop\\fileNameList.txt";
try {
ArrayList<String> fileNameList = readFiles1(filePath, new ArrayList<String>());
System.out.println(fileNameList.size());
for (int i = 0; i < fileNameList.size(); i++) {
outputToTxt(fileNameList.get(i), outputPath1);
}
} catch (Exception e) {
e.printStackTrace();
}
}
测试结果如下:
这是文件路径,路径下面有一个新建文件夹和若干个txt文件,共1086个对象,新建文件夹下面共有10个txt文件,计算可得此路径下面共有1086+10-1=1095个txt个文件:
这是运行的控制台打印信息,共有1095条打印信息:
这是桌面的fileNameList.txt,一共有1095行:
</div>
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-7f770a53f2.css" rel="stylesheet">
</div>
Java递归读取文件路径下所有文件名称并保存为Txt文档的更多相关文章
- Java递归输出指定路径下所有文件及文件夹
package a.ab; import java.io.File; import java.io.IOException; public class AE { public static void ...
- Java扫描指定文件路径下的文件并且递归扫描其子目录下的所有文件
本文主要实现了扫描指定文件路径下的文件,递归扫描其子目录下的所有文件信息,示例文件为: 要求将后缀为.dat的文件夹信息也写入到数据库中,然后将.chk文件解析,将文件中对应的内容读出来写入到数据库, ...
- Java 递归获取一个路径下的所有文件,文件夹名称
package com.readfile; import java.io.File; public class GetAllFiles { public static void main(String ...
- Unity读取StreamingAssets路径下的文件
/// <summary> ///读取StreamingAssets中的文件 /// </summary> /// <param name="path" ...
- 递归读取制定目录下所有文件夹和文件的实现(java)
public static String getAllDirectorisAndFiles(String path){ Map<String, Object> responseMap = ...
- java递归遍历获取目录下所有文件
import java.io.File; import java.util.ArrayList; import java.util.List; public class GetFiles { Arra ...
- java递归删除指定目录下的文件和文件夹
public static boolean deleteFolder(String delDir) { File delFolder = new File(delDir); File[] delFil ...
- 将mat文件中的数据按要求保存到txt文档中(批处理)
之前有个老朋友,让帮忙将一个mat中的数据重新保存到txt中,由于数据比较多需要用到批处理,之前弄过很多次,但每次一到要用的时候总是忘记怎么写了,现在记录一下,免得后面老是需要上网搜.这里先说一个比较 ...
- java通过文件路径读取该路径下的所有文件并将其放入list中
java通过文件路径读取该路径下的所有文件并将其放入list中 java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍 ...
随机推荐
- xpath使用方法
一.选取节点常用的路劲表达式: 表达式 描述 实例 nodename 选取nodename节点的所有子节点 xpath(‘//div’) 选取了div节点的所有子节点 / 从根节点选取 xpath ...
- git命令别名(Alias)
每次切换分支: git ckeckout branch_name 等命令费时又费力,git 别名配置起来: 别名配置: git config --global alias.ck ckeckout 其他 ...
- day11函数(形参实参)
形参与实参 def fn(形参们): pass # 形参:定义函数,在括号内声明的变量名,用来结束外界传来的值# 实参:调用函数,在括号内传入的实际值,值可以为常量.变量.表达式或三者的组合 # 注: ...
- hibernate封装Until工具类
public class HibernateUntil { private static SessionFactory sessionfaction; //一个web项目确保只调用一个sessionf ...
- 1.3 History of Android Plug-in Programing
In July 27, 2012 , it was the first milestone in Android plug-in technology. Yimin Tu(mmin18 o ...
- 如何在微信小程序定义全局变量、全局函数、如何实现 函数复用 模块化开发等问题详解
1.如何定义全局数据 在app.js的App({})中定义的数据或函数都是全局的,在页面中可以通过var app = getApp(); app.function/key的方式调用,不过我们没有必要 ...
- 微信小程序没有返回按钮怎么办?微信小程序左上角返回按钮怎么调出来?
如果你发现自己的小程序页面没有返回按钮,请检查是不是用的wx.redirectTo(OBJECT)进行的跳转,如果是那就把它改成wx.navigateTo(OBJECT)就可以了. wx.naviga ...
- JAVA四类八种基本数据类型
boolean类型 Boolean在内存中占用一个字节. 当java编译器把java源代码编译为字节码时,会用int或byte来表示boolean.在java虚拟机中,用整数零来表示false,用任意 ...
- [Swift]LeetCode66. 加一 | Plus One
Given a non-empty array of digits representing a non-negative integer, plus one to the integer. The ...
- [Swift]LeetCode396. 旋转函数 | Rotate Function
Given an array of integers A and let n to be its length. Assume Bk to be an array obtained by rotati ...