java文件搜索
Ⅰ java 文件搜索程序
import java.io.File;
import java.io.FileFilter;
public class SearchFile {
private static final class OnlyFile implements FileFilter {
public boolean accept(File pathname) {
if (pathname.isFile()) {
return true;
} else {
return false;
}
}
}
public static void main(String[] args) {
if (args.length != 2) {
System.out.println("使用说明:请输入java SearchFile 目录 文件名");
} else {
File file = new File(args[0]);
File[] files = file.listFiles(new OnlyFile());
for (File f : files) {
if (f.getName().contains(args[1])) {
System.out.println(f.getPath());
}
}
}
}
}
//注意路径名不能有空格
Ⅱ JAVA中,有没有一个方法可以搜索电脑硬盘下的某个文件
你好,以下是代码,已经试验过了,符合你的要求。 import java.io.*;
import java.util.*;public class AA { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); while(true){ System.out.println("请输入要查询的文件:"); String file = input.next(); File f = new File(File.separator); if(f.exists()){ System.out.println(file+ "存在"); }else{ System.out.println(file + "不存在"); } } }}
Ⅲ java 快速查找100G的文件
有一个100G大小的文件里存的全是数字,而且每一个数字见用逗号隔开。如今在这一大堆数字中找出100个最大的数出来。
使用Files类将文件的所有内容读入字节数组。Files类还有一个方法可以读取所有行到字符串行表。Files类是在Java 7中引入的,如果想加载所有文件内容,使用这个类是比较适合的。
只有在处理小文件并且需要加载所有文件内容到内存中时才应使用此方法。
Ⅳ java 如何在指定文件夹下查找文件
Windows下JAVA环境变量的设置祥解
Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。
JAVA_HOME指向的是JDK的安装路径,如x:\JDK_1.4.2,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:\XXXXXX\xxxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx……
那么,下面的步骤和以后的应用你都要受累了,呵呵。设置方法:
JAVA_HOME=x:\JDK_1.4.2
PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。设置方法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%\bin
(注,如果你对DOS批处理不了解,你可能不明白%%引起来的内容是什么意思;其实这里是引用上一步设定好的环境变量JAVA_HOME,你写成x:\JDK_1.4.2也是可以的;你可以打开一个控制台窗口,输入echo
%JAVA_HOME%来看一下你的设置结果) :
PATH=%JAVA_HOME%\bin;%PATH%
同样,%PATH%是引用以前你设置的PATH环境变量,你照抄以前的值就行了。
CLASSPATH环境变量我放在最后面,是因为以后你出现的莫名其妙的怪问题80%以上都可能是由于CLASSPATH设置不对引起的,所以要加倍小心才行。
CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的".\;",如果你看不清,我给你念念——句点反斜杠分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的)
,所以如果喜欢盘根究底的朋友不妨研究一下LINUX。
为什么CLASSPATH后面指定了tools.jar这个具体文件?不指定行不行?显然不行,行的话我还能这么罗索嘛!:)
这个是由java语言的import机制和jar机制决定的,你可以查资料解决。
呵呵,具体的设定方法: win2k\xp用户右键点击我的电脑->属性->高级->环境变量,修改下面系统变量那个框里的值就行了。
win9x用户修改autoexec.bat文件,在其末尾加入:
set JAVA_HOME=x:\JDK_1.4.2
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
Ⅳ JAVA 搜索目录下符合条件的文件
不是因为搜索量太大,而多半是因为权限问题。具体函数是listFiles。函数说明了,如果遇到IO错误将返回null,而你的报错是处理null,所以你这里肯定是遇到了IO错误。之前能用isDirectory,不大可能是磁盘错误或者逻辑错误,就只剩下权限问题了。Win下有好些目录是没有列表权限的,原因是那些目录本身是为了兼容老版本的Win而存在的目录链接;存在的意义在于可以通过老版本Win访问文件的方式来访问新版本Win里的文件,因为是目录链接,所以文件实际在新目录里;而老版本目录不让列举文件的原因是如果允许列举,遇到像你这样的搜索,处在新目录里的文件就会被找到两次(通过旧目录链接和通过新目录直接找到)。还有回收站相关的文件和System Volume Information目录相关的也有很多默认不能打开的目录,因为这些不是普通的用户文件。
所以处理一下listFiles的结果就行了。输出不能访问的提示。至于搜索量,报错也是或者StackOverflowError,所以直接输出别先保存在数组里吧,这样也让不能访问而报错时的输出连续一点。Pattern先compile在matcher可以提高效率。
import java.io.File;
import java.util.regex.Pattern;
public class Search {
public static void search(File folder, Pattern regex) {
File[] files = folder.listFiles();
if (files == null) {
System.err.println("不能访问" + folder.getAbsolutePath());
return;
}
for(File file : files) {
if(file.isDirectory()) {
search(file, regex);
} else {
if (regex.matcher(file.getName()).matches()) {
System.out.println(file.getAbsolutePath());
}
}
}
}
public static void search(String path, String regex) {
search(new File(path), Pattern.compile(regex));
}
public static void main(String[] args) {
Search.search("C:\\Users", ".*\\.mp3");
}
}
Ⅵ java怎么根据文件格式搜索文件
java一般存在两种文件格式,如下:
1.*.java文件是保存源代码的文本文件
(*代表类名)
使用
javac
*.java可以编译该文件
使用
java
*可以运行该类
2.*.class是用于保存
java类的
二进制编码以及class对象,每一个
java类都有一个解释该类特征的
class对象。*.jar文件
是一种压缩文件格式
Ⅶ java如何在桌面搜索一个应用
(1)在你的控制台里面,跑到你.java文件的根目录底下,Javac xxx.java看能不能编译出.class文件,可以的话继续。
(2)在控制台输入以下命令:javac -d c:\文件夹名 xxx.java把这个包存放在c盘下。
(3)在c盘这个文件夹里面。新建一个txt文件,输入以下内容:Main-Class:包名.类名,然后回车保存。
(4)再在控制台里面输入一下命令:jar -cvfm my.jar xx.txt 类名即可。
(5)在文件夹底下就会生成一个jar的文件,点开即可,不用再在Eclipse里面跑了。
(6)要是认为生成的图标不太好看,可以在文件夹选项中添加文件类型,增加一个.jar文件,将图标选成一个你喜欢的图标即可
(7)这个是我做的第一个Java桌面应用