Java操作檔案方法

來源:互聯網
上載者:User

   本文彙集熱門檔案操作方法,包括檔案的建立/檢查與刪除,目錄的建立/檢查與刪除,取出目錄中檔案,檔案屬性的取得,對檔案資料進行讀寫等等。

檔案路徑問題:

絕對路徑如: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 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.