本文彙集熱門檔案操作方法,包括檔案的建立/檢查與刪除,目錄的建立/檢查與刪除,取出目錄中檔案,檔案屬性的取得,對檔案資料進行讀寫等等。
檔案路徑問題:
絕對路徑如:E://test
在JSP中String path=request.getRealPath("");
在servlet和Action中 String path=servlet.getServletContext().getRealPath("");
檔案夾操作File dirFile =new File(servlet.getServletContext().getRealPath("/test"));
if(!dirFile.exists()){
dirFile.mkdir();//建立檔案夾
}
if(dirFile.exists()){
dirFile.delete();//刪除檔案夾
}
*注意:只能刪除空的檔案夾,這種方法不能刪除含有檔案的檔案夾,解決方案是先刪除檔案夾內的所有檔案和目錄。
取出目錄檔案
String path=request.getRealPath("/test");
File d=new File(path);//建立目前的目錄中檔案的File對象
File list[]=d.listFiles();//取得代表目錄中所有檔案的File對象數組
for(int i=0;i<list.length;i++){
//目錄下的檔案:
if(list(i).isFile()){
System.out..println(list(i).getName());
}
//目錄下的目錄:
if(list(i). isDirectory ()){
System.out..println(list(i).getName());
}
}
檔案基本操作
String path = servlet.getServletContext().getRealPath("/test ");
File f =new File(path,1.txt);
if(!f.exists()){
f.createNewFile(); //組建檔案
}else{
f.isFile();//是檔案:不是檔案
f.isDirectory();//是目錄:不是目錄
f.canRead();//可讀取:不可讀取
f.canWrite();//可寫入:不可寫入
f.isHidden();//是隱藏檔案:不是隱藏檔案
檔案的最後修改日期為: new Date(f.lastModified());
f.delete (); //刪除檔案
}
讀取檔案資料
String path=request.getRealPath(".");
FileReader fr=new FileReader(path + "//ReadData.txt");
//關鍵在於讀取過程中,要判斷所讀取的字元是否已經到了檔案的末尾,
並且這個字元是不是檔案中的斷行符,即判斷該字元值是否為13。
int c=fr.read();//從檔案中讀取一個字元
//判斷是否已讀到檔案結尾
while(c!=-1){
out.print((char)c);//輸出讀到的資料
c=fr.read();//從檔案中繼續讀取資料
if(c==13){//判斷是否為斷行字元
out.print("<br>");//輸出分列標籤
fr.skip(1);//略過一個字元
//c=fr.read();//讀取一個字元
}
}
fr.close();
寫資料到檔案
String path=request.getRealPath(".");
FileWriter fw=new FileWriter(path + "//WriteData.txt");//建立FileWriter對象,並執行個體化fw
BufferedWriter bw=new BufferedWriter(fw);
//將字串寫入檔案
bw.write("test!");
bw.newLine();//斷行
bw.write("寫資料到文字檔!");
bw.flush();//將資料更新至檔案
fw.close();
如何將資料追加寫入到檔案
String path=request.getRealPath(".");
RandomAccessFile rf=new RandomAccessFile(path + "//WriteData.txt","rw");
//定義一個類RandomAccessFile的對象,並執行個體化
rf.seek(rf.length());//將指標移動到檔案末尾
rf.writeBytes("/nAppend a line to the file!");
rf.close();//關閉檔案流
//取檔案的尾碼名
public static String getFileSuffix(String fileName){
String suffixName=null;
if(filename!=null && fileName.indexOf(".")!=-1){
suffixName =fileName.substring(fileName.indexOf("."));
}else{
return "非法檔案";
}
return suffixName;
}
Java.io.File類主要是完成了檔案夾管理的命名、查詢檔案屬性和處理目錄等到操作它不進行檔案夾內容的讀取操作。以下描述了File類的主要常用方法。
File():建構函式,一般是依據檔案所在的指定位置來建立檔案對象。
CanWrite():返迴文件是否可寫。
CanRead():返迴文件是否可讀。
CompareTo(File pathname):檢查指定檔案路徑間的順序。
CreateNewFile():當檔案不存在時產生空檔案。
Delet():從檔案系統內刪除該檔案。
DeleteOnExit():程式順利結束時從系統中刪除檔案。
Equals(Object obj):檢查特定對象的路徑名是否相等。
Exists():判斷檔案夾是否存在。
GetAbsoluteFile():返迴文件的完整路徑。
GetAbsolutePath():返迴文件的完整路徑。
GetName():返迴文件名稱。 GetParent():返迴文件父目錄路徑。
GetPath():返迴文件的潛在相對路徑。
GetParentFile():返迴文件所在檔案夾的路徑。
HashCode():返迴文件雜湊碼。
IsDirectory():判斷該路徑表示的是否為目錄。
IsFile():判斷該路徑指示的是否是檔案。
LastModified() :返迴文件的最後修改時間標誌。
Length():返迴文件長度。
List():返迴文件和目錄清單。
Mkdir():產生指定的目錄。
RenameTo(File dest):更名檔案。
SetReadOnly():將檔案設定為唯讀。
ToString():返迴文件狀態的字串。
ToURL():將檔案的路徑字串轉換成URL。
——轉自:http://hi.baidu.com/huaiyu2008/blog/item/acd769185360b5b14aedbc8b.html