java查詢文件
『壹』 java如何查找目錄下是否有特定文件
package com.cn.leng;
import java.io.File;
import java.io.FilenameFilter;
public class ListFile {
private String filepre;//文件前綴
private String filesux;//文件後綴
public void listFile(String dir, String prefix, String suffix){
File fileTarget = new File(dir);//取得目標目錄
filepre = prefix;
filesux =suffix;
if(fileTarget.exists()){//判斷目錄是否存在
File[] fileLogs = fileTarget.listFiles(
new FilenameFilter(){
public boolean accept(File dir, String name) {
return ((name.startsWith(filepre))&&(name.endsWith(filesux)));//使用FilenameFilter類過濾取得滿足指定條件的文件的文件數組
}
}
);
if(fileLogs.length > 0){
for(int i = 0; i<fileLogs.length; i++){
System.out.println(fileLogs[i].getName());
}
}else{
System.err.println("we cant find the file start with:"+ prefix);
System.exit(0);
}
}else{
System.err.print("we cant find the path:"+ fileTarget);
}
}
public static void main(String[] args) {
ListFile lf = new ListFile();
lf.listFile("C:\swserver\ipe113\logs","eai","log");
}
}
『貳』 java如何查詢文件夾內有多少個文件
java的file類實現文件夾和文件的遍歷,連隱藏的文件都能遍歷
代碼如下:
importjava.io.File;
/**
*java遞歸遍歷文件夾和文件
*@authoryoung
*
*/
publicclassEX4_1
{
publicstaticvoidFindFile(Strings){
Filefile=newFile(s);
for(Stringtemp:file.list()){
Stringnewstr=s+"\"+temp;
if(newFile(newstr).isFile()){
System.out.println(newstr);
}else{
FindFile(newstr);
}
}
}
publicstaticvoidmain(Stringargs[])
{
FindFile("F:\workspace\one\src");//指定遍歷的目錄
}
}
『叄』 Java 如何查詢硬碟所有文件
public static void main(String[] args) {File file = new File("/Users/xieyuhai/Desktop/readAllFile");readFile(file);}public static void readFile(File file) {File[] fs = filelistFiles();for (File f : fs) {Systemoutprintln(fisjava web 如何讀取一個磁碟下的一個文件夾下的所有
『肆』 java如何查找指定目錄下的最新文件
這個Java類的作用是查找目錄文件中特定文件名的文件,並不是查找文件內容。具體代碼如下:
[java] view plain
package net.xsoftlab.ke;
import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.List;
//查找目錄下指定文件名的文件
public class TextSearchFile {
static int countFiles = 0;// 聲明統計文件個數的變數
static int countFolders = 0;// 聲明統計文件夾的變數
public static File[] searchFile(File folder, final String keyWord) {// 遞歸查找包含關鍵字的文件
File[] subFolders = folder.listFiles(new FileFilter() {// 運用內部匿名類獲得文件
@Override
public boolean accept(File pathname) {// 實現FileFilter類的accept方法
if (pathname.isFile())// 如果是文件
countFiles++;
else
// 如果是目錄
countFolders++;
if (pathname.isDirectory()
|| (pathname.isFile() && pathname.getName().toLowerCase().contains(keyWord.toLowerCase())))// 目錄或文件包含關鍵字
return true;
return false;
}
});
List<File> result = new ArrayList<File>();// 聲明一個集合
for (int i = 0; i < subFolders.length; i++) {// 循環顯示文件夾或文件
if (subFolders[i].isFile()) {// 如果是文件則將文件添加到結果列表中
result.add(subFolders[i]);
} else {// 如果是文件夾,則遞歸調用本方法,然後把所有的文件加到結果列表中
File[] foldResult = searchFile(subFolders[i], keyWord);
for (int j = 0; j < foldResult.length; j++) {// 循環顯示文件
result.add(foldResult[j]);// 文件保存到集合中
}
}
}
File files[] = new File[result.size()];// 聲明文件數組,長度為集合的長度
result.toArray(files);// 集合數組化
return files;
}
public static void main(String[] args) {// java程序的主入口處
File folder = new File("E:/");// 默認目錄
String keyword = "1231";
if (!folder.exists()) {// 如果文件夾不存在
System.out.println("目錄不存在:" + folder.getAbsolutePath());
return;
}
File[] result = searchFile(folder, keyword);// 調用方法獲得文件數組
System.out.println("在 " + folder + " 以及所有子文件時查找對象" + keyword);
System.out.println("查找了" + countFiles + " 個文件," + countFolders + " 個文件夾,共找到 " + result.length + " 個符合條件的文件:");
for (int i = 0; i < result.length; i++) {// 循環顯示文件
File file = result[i];
System.out.println(file.getAbsolutePath() + " ");// 顯示文件絕對路徑
}
}
}
『伍』 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 快速查找100G的文件
有一個100G大小的文件里存的全是數字,而且每一個數字見用逗號隔開。如今在這一大堆數字中找出100個最大的數出來。
使用Files類將文件的所有內容讀入位元組數組。Files類還有一個方法可以讀取所有行到字元串列表。Files類是在Java 7中引入的,如果想載入所有文件內容,使用這個類是比較適合的。
只有在處理小文件並且需要載入所有文件內容到內存中時才應使用此方法。
『柒』 java如何實現文件搜索功能
java實現文件搜索主要使用file類和正則表達式,如下示例:
packagecom.kiritor.util;
importjava.io.File;
importjava.io.FileFilter;
importjava.util.Arrays;
importjava.util.Collections;
importjava.util.List;
/**
*文件的相關操作類
*
*@authorKiritor
*/
publicclassFileOperation{
;
privatestaticStringfilePath;
privatestaticFile[]fileList=null;//保存文件列表,過濾掉目錄
publicFileOperation(){
}
/**構造函數的參數是一個目錄*/
publicFileOperation(Stringpath){
Filefile=newFile(path);
if(file.isDirectory())
this.contentPath=path;
else
this.filePath=path;
}
/**獲取文件列表*/
publicstaticFile[]getFiles(){
if(contentPath==null){
Filefile=newFile(filePath);
fileList=newFile[1];
fileList[0]=file;
returnfileList;
}
fileList=newFile(contentPath).listFiles(newFileFilter(){
/**使用過濾器過濾掉目錄*/
@Override
publicbooleanaccept(Filepathname){
if(pathname.isDirectory())
{
returnfalse;
}else
returntrue;
}
});
returnfileList;
}
/**對當前目錄下的所有文件進行排序*/
publicstaticFile[]sort(){
getFiles();
Arrays.sort(fileList,newFileComparator());
returnfileList;
}
publicstaticvoidtree(Filef,intlevel){
StringpreStr="";
for(inti=0;i<level;i++){
preStr+="";
}
File[]childs=f.listFiles();
//返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件。
for(inti=0;i<childs.length;i++){
System.out.println(preStr+childs[i].getName());
if(childs[i].isDirectory()){
tree(childs[i],level+1);
}
}
}
//提供一個"比較器"
.util.Comparator<File>{
@Override
publicintcompare(Fileo1,Fileo2){
//按照文件名的字典順序進行比較
returno1.getName().compareTo(o2.getName());
}
}
}
『捌』 java怎麼查詢指定路徑下所有文件夾
Java程序中讀取某個目錄下的所有文件(下面以D盤下的文件夾為例),代碼如下:
import java.io.File;
public class Test1 {
public static void main(String[] args) {
String path="D://";
File file=new File(path);
File[] tempList = file.listFiles();
System.out.println("該目錄下對象個數:"+tempList.length);
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isFile()) {
//讀取某個文件夾下的所有文件
System.out.println("文件:"+tempList[i]);
}
if (tempList[i].isDirectory()) {
//讀取某個文件夾下的所有文件夾
System.out.println("文件夾:"+tempList[i]);
}
}
}
}
『玖』 java中如何在某一路徑下查找文件
這是我在jdk5.0的api里找的
listFiles
public File[] listFiles()返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名所表示目錄中的文件。
如果此抽象路徑名並不表示一個目錄,則此方法將返回 null。否則,為目錄中的每個文件或目錄返回一個 File 對象數組。表示目錄本身及其父目錄的路徑名不包括在結果中。得到的每個抽象路徑名都是根據此抽象路徑名,使用 File(File, String) 構造方法構造。所以,如果此路徑名是絕對路徑名,則得到的每個路徑名都是絕對路徑名;如果此路徑名是相對路徑名,則得到的每個路徑名都是相對於同一目錄的路徑名。
不保證所得數組中的相同字元串將以特定順序出現,特別是不保證它們按字母順序出現。
返回:
表示此抽象路徑名所表示目錄中的文件和目錄的抽象路徑名數組。如果目錄為空,則數組也將為空。如果抽象路徑名不表示一個目錄,或者發生 I/O 錯誤,則返回 null。
拋出:
SecurityException - 如果存在安全管理器,且其 SecurityManager.checkRead(java.lang.String) 方法拒絕對目錄進行讀取訪問
『拾』 java 文件名匹配查詢
可以通過File的exists方法進行查詢是否匹配,如果存儲就返回真,不存在返回假。
舉例:
public static String fileExists(String filePath){
File file=new File(filePath);
if(!file.exists()) {
return "false";//如果存在輸出結果
} else{
return "true";
}
}
備註:以上放只需要傳入「文件的路徑+對應的文件名」(filePath),之後即可判斷是否存在,如果循環判斷,那麼就多次調用此方法即可。