重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

关于java代码本地磁盘搜索的信息

java如何实现文件搜索功能

java实现文件搜索主要使用file类和正则表达式,如下示例:

创新互联是一家集网站建设,岳阳县企业网站建设,岳阳县品牌网站建设,网站定制,岳阳县网站建设报价,网络营销,网络优化,岳阳县网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

package com.kiritor.util;

import java.io.File;

import java.io.FileFilter;

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

/**

* 文件的相关操作类

* @author Kiritor

*/

public class FileOperation {

private static String contentPath;

private static String filePath;

private static File[] fileList = null;// 保存文件列表,过滤掉目录

public FileOperation() {

}

/** 构造函数的参数是一个目录 */

public FileOperation(String path) {

File file = new File(path);

if (file.isDirectory())

this.contentPath = path;

else

this.filePath = path;

}

/**获取文件列表*/

public static File[] getFiles() {

if (contentPath == null) {

File file = new File(filePath);

fileList = new File[1];

fileList[0] = file;

return fileList;

}

fileList = new File(contentPath).listFiles(new FileFilter() {

/**使用过滤器过滤掉目录*/

@Override

public boolean accept(File pathname) {

if(pathname.isDirectory())

{

return false;

}else

return true;

}

});

return fileList;

}

/** 对当前目录下的所有文件进行排序 */

public static File[] sort() {

getFiles();

Arrays.sort(fileList, new FileComparator());

return fileList;

}

public static void tree(File f, int level) {

String preStr = "";

for(int i=0; ilevel; i++) {

preStr += "    ";

}

File[] childs = f.listFiles();

//返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

for(int i=0; ichilds.length; i++) {

System.out.println(preStr + childs[i].getName());

if(childs[i].isDirectory()) {

tree(childs[i], level + 1);

}

}

}

// 提供一个"比较器"

static class FileComparator implements java.util.ComparatorFile {

@Override

public int compare(File o1, File o2) {

// 按照文件名的字典顺序进行比较

return o1.getName().compareTo(o2.getName());

}

}

}

java怎么写一个程序读取计算机的所有磁盘

File[] roots = File.listRoots();

for (int i =0; i roots.length; i++) {

System.out.println(roots[i]);

}

放入main里执行就知道,获取所有盘符。

查找文件时需要读取该盘符的所有文件夹、文件。同时如果是文件夹递归读取里面的文件夹、文件,就是这个思路。

Java 浏览本地硬盘文件

只是获取某个路径下的文件夹?

可以用File里面的listFiles() 方法获取到该路径下的所有File对象的数组引用

如果想用类似于windows中的打开、保存那样的对话框可以调用

JFileChooser类

java搜索文件的代码怎么写,返回文件的路径?求教

你是搜文件名,还是搜文件内容?要是搜文件内容可就麻烦了,有可能的话你看看Java的一个开源库Lucene。

要是简单的搜文件名包含的字符串,大致应该涉及到文件树的遍历算法,最多用一些简单的正则表达式来匹配文件名,一般用递归可以实现任意级目录树的搜索。

给你个简单的版本吧:

package test.tool;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class FindFile {

private String fileName = "";

private String dir = "";

private Matcher m = null;

private int count = 0;

public FindFile() throws IOException {

String f = FindFile.class.getResource("findfile.properties").getFile();

BufferedReader read = new BufferedReader(new FileReader(f));

dir = read.readLine().trim();

fileName = read.readLine().trim();

Pattern p = Pattern.compile(fileName);

m = p.matcher("");

}

public void find() {

File root = new File(dir);

for (File f : root.listFiles()) {

if (f.isDirectory()) {

dir = f.getAbsolutePath();

find();

} else {

m.reset(f.getName());

if (m.find()) {

count++;

System.out.println(f.getAbsolutePath());

}

}

}

}

public static void main(String[] args) {

try {

FindFile ff = new FindFile();

ff.find();

System.out.println("\n共找到文件数目:" + ff.count);

} catch (IOException e) {

e.printStackTrace();

}

}

}

里面用到的findfile.properties,举个例子:

F:\download

vod.*.exe

运行效果如下:

F:\download\firefox\vodplayer.exe

F:\download\ie\vodplayer.exe

共找到文件数目:2

java本地文件索引

可以使用递归调用的方法逐个检索你的文件,直到文件内成空。


文章名称:关于java代码本地磁盘搜索的信息
分享网址:http://cqcxhl.cn/article/dseejgi.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP