文件的建立/檢查與刪除
<%@ 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> 
    
<B>讀取所有的文件數據</B> 
<ccid_nobr> 
<table width="400" border="1" cellspacing="0" cellpadding="2" 
bordercolorlight 
= "black" bordercolordark = "#FFFFFF" align="center"> 
<tr> 
<td bgcolor="e6e6e6" class="code" style="font-size:9pt"> 
<pre><ccid_code> <%@ 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:stride@sina.com"); 
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: stride@sina.com"); 
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>