今天给各位分享java递归查找文件的知识,其中也会对java递归查找文件并返回路劲进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、JAVA遍历一个文件夹中的所有文件—(递归)2、java递归:查询e盘下所有文件夹及其子文件夹里名为s的文件并打印,s为从控制台输入的需要查询的文件名3、java文件查找递归帮我看看怎么会有空指针异常急~~~~在线等4、JAVA的递归查询指定后缀名文件的问题5、java用递归查询文件,运行时,把输入符合条件的东西全部显示出来,用递归怎么做
JAVA遍历一个文件夹中的所有文件—(递归)
public void traverseFolder2(String path) {
File file = new File(path);
if (file.exists()) {
File[] files = file.listFiles();
if (null == files || files.length == 0) {
System.out.println(“文件夹是空的!”);
return;
} else {
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println(“文件夹:” + file2.getAbsolutePath());
traverseFolder2(file2.getAbsolutePath());
} else {
System.out.println(“文件:” + file2.getAbsolutePath());
}
}
}
} else {
System.out.println(“文件不存在!”);
}
}
扩展资料
public void traverseFolder1(String path) {
int fileNum = 0, folderNum = 0;
File file = new File(path);
if (file.exists()) {
LinkedListFile list = new LinkedListFile();
File[] files = file.listFiles();
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println(“文件夹:” + file2.getAbsolutePath());
list.add(file2);
foldeNum++;
} else {
System.out.println(“文件:” + file2.getAbsolutePath());
fileNum++;
}
}
File temp_file;
while (!list.isEmpty()) {
temp_file = list.removeFirst();
files = temp_file.listFiles();
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println(“文件夹:” + file2.getAbsolutePath());
list.add(file2);
folderNum++;
} else {
System.out.println(“文件:” + file2.getAbsolutePath());
fileNum++;
}
}
}
} else {
System.out.println(“文件不存在!”);
}
System.out.println(“文件夹共有:” + folderNum + “,文件共有:” + fileNum);
}
参考资料:百度百科 Java
java递归:查询e盘下所有文件夹及其子文件夹里名为s的文件并打印,s为从控制台输入的需要查询的文件名
public static void main(String[] args) throws Exception {
System.out.print(“请输入检索的盘符:”);
Scanner input = new Scanner(System.in);
String pf = input.next();
System.out.print(“请输入检索的字符串:”);
String s = input.next();
File file = new File(pf + “:/”);
if (!file.isDirectory()) {
System.out.println(“盘符不存在,或没有内容!”);
return;
}
js(file, s);
}
public static void js(File file, String s) throws Exception {
if (file == null)
return;
if (file.isFile()) {// 判断是否是文件
String name = file.getName();// 取得文件的名字
// 文件的名字没有去掉后缀,这段代码你自己写吧。
name = name == null ? “” : name.trim();
String path = file.getPath();// 取得文件路径
if (name.equalsIgnoreCase(s))// 如果文件名于录入的字符串相等打印文件路径
System.out.println(path);
}
File[] files = file.listFiles();// 取得文件夹中包含的文件及文件夹
if (files == null || files.length = 0)
return;// 如果没有其中没有文件或文件夹,返回
for (File file2 : files) {// 循环其下所有文件及文件夹
js(file2, s);// 递归
}
}
大体上是这样的。
java文件查找递归帮我看看怎么会有空指针异常急~~~~在线等
import java.io.File;
public class Recursion_Search {
public void search(String fpath) {
File f = new File(fpath);
File[] farray = f.listFiles();//all
if (fpath == null) {
System.out.println(“没有输入路径”);
} else {
for (int i = 0; farray!=nulli farray.length; i++) {
File f1=farray[i];
if (f1.isFile()(f1.getName()).contains(“i”)) {
System.out.println(f1.getName() + ” :::” + f1.getPath());
} else {
if(f1.getName().contains(“i”))
System.out.println(f1.getName() + ” :” + f1.getPath());
fpath = f1.getPath();
search(fpath);
}
}
}
}
public static void main(String args[]) {
Recursion_Search rs = new Recursion_Search();
rs.search(“e:/”);
}
}
为什么要写那么复杂呢???
有简单一些的方法递归而不用。。。
。。。。。
呵呵。。。。
JAVA的递归查询指定后缀名文件的问题
你的程序只打印指定目录下的“.java”文件,是因为dir.listFiles(new FilenameFilter());只返回过滤后的文件列表,所以返回的是指定目录下的“.java”文件
你的程序我帮你改好了,你看看吧
import java.io.*;
class test2
{
public static void main(String[] args)
{
File fi=new File(“D:\\BD\\java2016”); //指定查找目录
showdir(fi);
}
public static void showdir(File dir) //定义一个返回目录中所有文件的方法showdir
{
if(dir.isDirectory())
{ //判断是否目录,
File[] files=dir.listFiles(new FilenameFilter() //定义过滤器,过滤文件类型为.java的文件
{
public boolean accept(File dir,String name)
{
return name.endsWith(“.java”);
}
});
for(int x=0;xfiles.length;x++) //打印以.java结尾的文件名
{
System.out.println(files[x]);
}
File[] files1=dir.listFiles(); //定义没有过滤器的文件列表
for(int x=0;xfiles1.length;x++)
{
if(files1[x].isDirectory()) //如果是目录则递归调用showdir方法,不是目录则忽略
showdir(files1[x]);
}
}
}
}
java用递归查询文件,运行时,把输入符合条件的东西全部显示出来,用递归怎么做
/**
* 查询指定目录下文件名符合正则表达式的文件
* @param list 用于保存符合条件的文件
* @param file 需要遍历的目录
* @param reg 条件正则表达式
*/
public static void getFiles(ListFile list, File file, String reg) {
if (file.isFile()) {//若file是文件
if (Pattern.matches(reg, file.getName())) {
list.add(file);
}
return;
}
//file是文件夹
File[] files = file.listFiles();
for (File f : files) {
if (f.isDirectory()) {//f是文件夹则递归
getFiles(list, f, reg);
} else {
if (Pattern.matches(reg, f.getName())) {
list.add(f);
}
}
}
}
java递归查找文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java递归查找文件并返回路劲、java递归查找文件的信息别忘了在本站进行查找喔。