⑴ java 查找特定文件中文件數目及其對應的文件類型
importjava.io.File;
importjava.util.Scanner;
publicclassFileTest{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
StringfileName=sc.next();
Filefile=newFile(fileName);
if(file.exists()){
if(file.isDirectory()){
String[]list=file.list();
System.out.println(list.length);
for(Stringstring:list){
System.out
.println(string
.substring(string.lastIndexOf(".")>=0?string
.lastIndexOf("."):0));
}
}else{
System.out.println("不是文件夾");
}
}else{
System.out.println("文件不存在");
}
}
}
⑵ java如何查找指定目錄下的最新文件,例如D://my目錄下的最新文件,最好能給我詳細的代碼
File file=new file(「目錄」);
for(FIle f:file。filelist()){
long time=f。lastModified() //得到文件修改日期
將time put 到treemap<time,file>
}
取treemap最後一個值即最新文件!
⑶ java中如何在某一路徑下查找文件
這是我在jdk5.0的api里找的
listFiles
public File[] listFiles()返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名所表示目錄中的文件。
如果此抽象路徑名並不表示一個目錄,則此方法將返回 null。否則,為目錄中的每個文件或目錄返回一個 File 對象數組。表示目錄本身及其父目錄的路徑名不包括在結果中。得到的每個抽象路徑名都是根據此抽象路徑名,使用 File(File, String) 構造方法構造。所以,如果此路徑名是絕對路徑名,則得到的每個路徑名都是絕對路徑名;如果此路徑名是相對路徑名,則得到的每個路徑名都是相對於同一目錄的路徑名。
不保證所得數組中的相同字元串將以特定順序出現,特別是不保證它們按字母順序出現。
返回:
表示此抽象路徑名所表示目錄中的文件和目錄的抽象路徑名數組。如果目錄為空,則數組也將為空。如果抽象路徑名不表示一個目錄,或者發生 I/O 錯誤,則返回 null。
拋出:
SecurityException - 如果存在安全管理器,且其 SecurityManager.checkRead(java.lang.String) 方法拒絕對目錄進行讀取訪問
⑷ 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:找出指定文件夾里的文件名!
importjava.io.File;
/*
*獲取功能:
*publicString[]list():獲取指定目錄下的所有文件或者文件夾的名稱數組
*publicFile[]listFiles():獲取指定目錄下的所有文件或者文件夾的File數組
*/
publicclassFileDemo{
publicstaticvoidmain(String[]args){
//指定一個目錄
Filefile=newFile("e:\");
//publicString[]list():獲取指定目錄下的所有文件或者文件夾的名稱數組
String[]strArray=file.list();
for(Strings:strArray){
System.out.println(s);
}
System.out.println("------------");
//publicFile[]listFiles():獲取指定目錄下的所有文件或者文件夾的File數組
File[]fileArray=file.listFiles();
for(Filef:fileArray){
System.out.println(f.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如何查找目錄下是否有特定文件
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獲取指定資源文件路徑的幾種方法
你好,提問者:
指定資源路徑的方法有兩種:
一種是絕對路徑,一種是相對路徑。
獲取當前類的所在工程路徑;
Filef=newFile(this.getClass().getResource("/").getPath());
System.out.println(f);
獲取當前類的絕對路徑;
Filef=newFile(this.getClass().getResource("").getPath());
System.out.println(f);
獲取當前類的所在工程路徑;
Filedirectory=newFile("");//參數為空
StringcourseFile=directory.getCanonicalPath();
System.out.println(courseFile);
獲取當前工程src目錄下selected.txt文件的路徑:
URLxmlpath=this.getClass().getClassLoader().getResource("selected.txt");
System.out.println(xmlpath);
⑼ JAVA的遞歸查詢指定後綴名文件的問題
你的程序只列印指定目錄下的「.java」文件,是因為dir.listFiles(new FilenameFilter());只返回過濾後的文件列表,所以返回的是指定目錄下的「.java」文件
你的程序我幫你改好了,你看看吧
importjava.io.*;
classtest2
{
publicstaticvoidmain(String[]args)
{
Filefi=newFile("D:\BD\java2016");//指定查找目錄
showdir(fi);
}
publicstaticvoidshowdir(Filedir)//定義一個返回目錄中所有文件的方法showdir
{
if(dir.isDirectory())
{//判斷是否目錄,
File[]files=dir.listFiles(newFilenameFilter()//定義過濾器,過濾文件類型為.java的文件
{
publicbooleanaccept(Filedir,Stringname)
{
returnname.endsWith(".java");
}
});
for(intx=0;x<files.length;x++)//列印以.java結尾的文件名
{
System.out.println(files[x]);
}
File[]files1=dir.listFiles();//定義沒有過濾器的文件列表
for(intx=0;x<files1.length;x++)
{
if(files1[x].isDirectory())//如果是目錄則遞歸調用showdir方法,不是目錄則忽略
showdir(files1[x]);
}
}
}
}