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桌面應用