1. 程式人生 > >java檔案操作大全 (資料收集)

java檔案操作大全 (資料收集)

檔案的建立/檢查與刪除
<%@   page   contentType="text/html;charset=gb2312"%>
<%@   page   import="java.io.*"%>
<html>
<head>
<title> 檔案的建立、檢查與刪除 </title>
</head>
<body>
<%
String   path=request.getRealPath("");
//out.println(path);
File   f=new   File(path,"File.txt");
//out.println(f);
//out.println(f.exists());

if(f.exists()){//檢查File.txt是否存在
f.delete();//刪除File.txt檔案
out.println(path   +   "//File.txt   存在,已刪除。");
}else{
f.createNewFile();//在當前目錄下建立一個名為File.txt的檔案
out.println(path   +   "//File.txt   不存在,已建立。");//輸出目前所在的目錄路徑
}
%>

目錄的建立/檢查與刪除
<%@   page   contentType="text/html;charset=gb2312"%>
<%@   page   import="java.io.*"%>
<html>
<head>
<title> 目錄的建立/檢查與刪除 </title>
</head>
<body>
<%
String   path=request.getRealPath("");
path=path   +   "//Sub";//將要建立的目錄路徑
File   d=new   File(path);//建立代表Sub目錄的File物件,並得到它的一個引用
if(d.exists()){//檢查Sub目錄是否存在
d.delete();
out.println("Sub目錄存在,已刪除");
}else{
d.mkdir();//建立Sub目錄
out.println("Sub目錄不存在,已建立");
}
%>
</body>
</html>


如何在JSP中處理虛擬目錄
<%@   page   contentType="text/html;charset=gb2312"%>
<%@   page   import="java.io.*"%>
<html>
<head>
<title> JSP中如何處理虛擬目錄 </title>
</head>
<body>
取得虛擬目錄對應的磁碟路徑 <br>
Web站點主目錄的位置為 <font   color=#ff0000> <%=request.getRealPath("/")%> </font> <br>
JSP網頁所在的目錄位置 <font   color=#ff0000> <%=request.getRealPath("./")%> </font> <br>
JSP網頁所在目錄上一層目錄的位置 <font   color=#ff0000> <%=request.getRealPath("../")%> </font> <br>
</body>
</html>


檔案屬性的取得
<%@   page   contentType="text/html;charset=gb2312"%>
<%@   page   import="java.util.Date,java.io.*"%>
<html>
<head>
<title> 檔案屬性的取得 </title>
</head>
<body>
<%
String   path=request.getRealPath("/");
File   f=new   File(path,"ReadData.txt");
if(f.exists()){
%>
<%=f.getName()%> 的屬性如下: <br> <br>
檔案長度為: <%=f.length()%>
<%=f.isFile()?"是檔案":"不是檔案"%> <br>
<%=f.isDirectory()?"是目錄":"不是目錄"%> <br>
<%=f.canRead()?"可讀取":"不可讀取"%> <br>
<%=f.canWrite()?"可寫入":"不可寫入"%> <br>
<%=f.isHidden()?"是隱藏檔案":"不是隱藏檔案"%> <br>
檔案的最後修改日期為: <%=new   Date(f.lastModified())%> <br>
<%
}else{
f.createNewFile();//在當前目錄下建立一個名為ReaData.txt的檔案
%>  
<%=f.getName()%> 的屬性如下: <br> <br>
檔案長度為: <%=f.length()%>
<%=f.isFile()?"是檔案":"不是檔案"%> <br>
<%=f.isDirectory()?"是目錄":"不是目錄"%> <br>
<%=f.canRead()?"可讀取":"不可讀取"%> <br>
<%=f.canWrite()?"可寫入":"不可寫入"%> <br>
<%=f.isHidden()?"是隱藏檔案":"不是隱藏檔案"%> <br>
檔案的最後修改日期為: <%=new   Date(f.lastModified())%> <br>
<%
}
%>
</body>
</html>


取出目錄中檔案的方法
<%@   page   contentType="text/html;charset=gb2312"%>
<%@   page   import="java.io.*"%>
<html>
<head>
<title> 取出目錄中檔案的方法--列出目錄中的檔案 </title>
</head>
<body>
<%
String   path=request.getRealPath("/");
File   d=new   File(path);//建立當前目錄中檔案的File物件
File   list[]=d.listFiles();//取得代表目錄中所有檔案的File物件陣列
out.println(" <font   color=#ff0000> "   +   path   +   "目錄下的檔案: </font> <br> ");
for(int   i=0;i <list.length;i++){
if(list <I> .isFile()){
out.println(list <I> .getName()   +   " <br> ");
}
}
out.println(" <br> <font   color=#ff0000> "   +   path   +   "目錄下的目錄: </font> <br> ");
for(int   i=0;i <list.length;i++){
if(list <I> .isDirectory()){
out.println(list <I> .getName()   +   " <br> ");
}
}
%>
</body>
</html>


判斷是否為空白檔案
<%@   page   contentType="text/html;charset=gb2312"%>
<%@   page   import="java.io.*"%>
<html>
<head>
<title> 判斷是否為空白檔案 </title>
</head>
<body>
<%
String   path=request.getRealPath("/");
out.println(path);
FileReader   fr=new   FileReader(path   +   "//AtEnd.txt");//建立FileReader物件,並例項化為fr
//對FileReader類生成的物件使用read()方法,可以從字元流中讀取下一個字元。
if(fr.read()==-1)//判斷是否已讀到檔案的結尾
{
out.print("AtEnd.txt檔案中沒有資料 <br> ");
}else{
out.println("AtEnd.txt檔案中有資料");
}
fr.close();
%>
</body>
</html>


讀取所有的檔案資料
<%@   page   contentType="text/html;charset=gb2312"%>
<%@   page   import="java.io.*,java.lang.*"%>
<html>
<head>
<title> 讀取所有的檔案資料 </title>
</head>
<body>
<%
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();
%>
</body>
</html>


一行一行讀取資料
<%@   page   contentType="text/html;charset=gb2312"%>
<%@   page   import="java.io.*"%>
<html>
<head>
<title> 檔案讀取 </title>
</head>
<body>
<%
String   path=request.getRealPath("");//取得當前目錄的路徑
FileReader   fr=new   FileReader(path   +   "//file//inc//t.txt");//建立FileReader物件,並例項化為fr
BufferedReader   br=new   BufferedReader(fr);//建立BufferedReader物件,並例項化為br
String   Line=br.readLine();//從檔案讀取一行字串
//判斷讀取到的字串是否不為空
while(Line!=null){
out.println(Line   +   " <br> ");//輸出從檔案中讀取的資料
Line=br.readLine();//從檔案中繼續讀取一行資料
}
br.close();//關閉BufferedReader物件
fr.close();//關閉檔案
%>
</body>
</html>


略過檔案中的字元不讀取
<%@   page   contentType="text/html;charset=gb2312"%>
<%@   page   import="java.io.*"%>
<html>
<head>
<title> 略過位元組不讀取 </title>
</head>
<body>
<%
String   path=request.getRealPath(".");
FileReader   fr=new   FileReader(path   +   "//ReadData.txt");
fr.skip(2);//跳過2個位元組
int   c=fr.read();//讀取一個位元組
while(c!=-1){
out.print((char)c);
c=fr.read();
}
fr.close();
%>
</body>
</html>


將資料寫入檔案
<%@   page   contentType="text/html;charset=gb2312"%>
<%@   page   import="java.io.*"%>
<html>
<head>
<title> 將資料寫入檔案 </title>
</head>
<body>
<%
String   path=request.getRealPath(".");
FileWriter   fw=new   FileWriter(path   +   "//WriteData.txt");//建立FileWriter物件,並例項化fw
//將字串寫入檔案
fw.write("大家好!");
fw.write("本書是《JSP程式設計技巧》");
fw.write("請多多指教!");
fw.write("email:
[email protected]
");
fw.close();

FileReader   fr=new   FileReader(path   +   "//WriteData.txt");
BufferedReader   br=new   BufferedReader(fr);//建立BufferedReader物件,並例項化為br
String   Line=br.readLine();
//讀取一行資料
out.println(Line   +   " <br> ");
br.close();//關閉BufferedReader物件
fr.close();
%>
</body>
</html>


將寫入檔案的資料分行
<%@   page   contentType="text/html;charset=gb2312"%>
<%@   page   import="java.io.*"%>
<html>
<head>
<title> 將寫入檔案的資料分行 </title>
</head>
<body>
<%
String   path=request.getRealPath(".");
FileWriter   fw=new   FileWriter(path   +   "//WriteData.txt");
BufferedWriter   bw=new   BufferedWriter(fw);
bw.write("大家好!");
bw.write("本書是《JSP程式設計技巧》。");
bw.newLine();//斷行
bw.write("請多多指教!");
bw.newLine();//斷行
bw.write("email:  
[email protected]
");
bw.flush();//將資料更新至檔案
fw.close();//關閉檔案流
out.println("寫入檔案內容為: <br> ");
FileReader   fr=new   FileReader(path   +   "//WriteData.txt");
BufferedReader   br=new   BufferedReader(fr);
String   Line=br.readLine();//讀取一行資料
while(Line!=null){
out.println(Line   +   " <br> ");
Line=br.readLine();
}
fr.close();
%>
</body>
</html>
如何將資料追加寫入到檔案
<%@   page   contentType="text/html;charset=gb2312"%>
<%@   page   import="java.io.*"%>
<html>
<head>
<title> 將寫入檔案的資料分行 </title>
</head>
<body>
<%
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();//關閉檔案流
out.println("寫入檔案內容為: <br> ");
FileReader   fr=new   FileReader(path   +   "//WriteData.txt");
BufferedReader   br=new   BufferedReader(fr);//讀取檔案的BufferedRead物件
String   Line=br.readLine();
while(Line!=null){
out.println(Line   +   " <br> ");
Line=br.readLine();
}
fr.close();//關閉檔案
%>
</body>
</html> </I> </I> </I> </I>