首先取得當前的磁盤路徑,指定要建立的文件的路徑,再進行檢查,如果文件不存在,如果文件不存在,則建立這個文件,如果文件存在,則刪除這個文件。
CreateDelete.jsp
<%@ page contentType="text/html; charset=GB2312"%>
<%@ page import="java.io.*" %>
<%@ page language="java" %>
<HTML>
<HEAD>
<TITLE>文件的建立與刪除</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>文件的建立與刪除</FONT>
</CENTER>
<BR>
<HR>
<BR>
<%
//建立代表目前目錄位置中File.txt檔的File變量, 並由fileName變量變數引用
String path = request.getRealPath("/jsphosting/wenjian");
File fileName = new File(path, "File.txt");
//檢查File.txt是否存在
if(fileName.exists())
{
//刪除File.txt檔
fileName.delete();
//輸出目前所在的目錄路徑
out.println(path + "\File.txt");
%>
<FONT SIZE = 4 COLOR = red>存在</FONT>, 已完成
<FONT SIZE = 4 COLOR = red>刪除</FONT>
<%
}
else
{
//在目前的目錄下建立一個名為File.txt的文字檔
fileName.createNewFile();
//輸出目前所在的目錄路徑
out.println(path + "\File.txt");
%>
<FONT SIZE = 4 COLOR = red>不存在</FONT>, 已完成
<FONT SIZE = 4 COLOR = red>建立</FONT>
<%
}
%>
</BODY>
</HTML>
顯示目錄中的文件
首先建立要顯示的目錄的FILE對象,然後調用LISTFILES方法,該方法返回一個FILE對象數組,顯示數組中的所有元素即可。
ListFile.jsp
<%@ page contentType="text/html; charset=GB2312"%>
<%@ page language="java" %>
<%@ page import="java.io.*" %>
<HTML>
<HEAD>
<TITLE>取得目錄中的文件</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>取得目錄中的文件</FONT>
</CENTER>
<BR>
<HR>
<BR>
<%
//取得目前目錄的磁盤目錄
String path = request.getRealPath("/jsphosting/wenjian");
//建立代表目前目錄位置的d變量
File d = new File(path);
//取得代表目錄中所有文件
File list[] = d.listFiles();
%>
在<Font color = red><%= path%></Font>目錄下的文件有(每個文件有其相應的功能)<BR>
<Font color = blue>
<ul>
<%
for(int i=0; i < list.length; i++)
{
%>
<li><%= list[i].getName() %><BR>
<%
}
%>
</ul>
</Font>
</BODY>
</HTML>
讀取文件中的字符
直接調用FILEREADER對象的READ()方法讀取所要顯示的字符
ReadAll.jsp
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page language="java" %>
<%@ page import="java.io.*" %>
<HTML>
<HEAD>
<TITLE>讀取文件內容</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>讀取文件內容</FONT>
</CENTER>
<BR>
<HR>
<BR>
<%
String path = request.getRealPath("/jsphosting/wenjian"); //取得目前目錄在伺服端的實際位置
FileReader fr = new FileReader(path + "\File.txt"); //建立FileReader變量,並設定由fr變量變數引用
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>
將數據寫入文件
通過調用FILEWRITER對象的WRITE()方法向文件中寫入數據
Write.jsp
<%@ page contentType="text/html; charset=GB2312"%>
<%@ page language="java" %>
<%@ page import="java.io.*" %>
<HTML>
<HEAD>
<TITLE>將數據寫入文件</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>將數據寫入文件</FONT>
</CENTER>
<BR>
<HR>
<BR>
<%
String path = request.getRealPath("/jsphosting/wenjian"); //取得目前目錄在伺服端的實際位置
FileWriter fw = new FileWriter(path + "\File.txt"); //建立FileWrite對象,並設定由fw對象變量引用
//將字串寫入文件
fw.write("大家好!");
fw.write("祝大家學習jsp愉快!");
fw.write("希望大家能夠深入了解jsp技術!");
fw.close(); //關閉文件
%>
<P>寫入文件內容為</P>
<FONT SIZE = 4 COLOR = red>
<%
FileReader fr = new FileReader(path + "\File.txt"); //建立FileReader對象,並設定由fr對象變量引用
BufferedReader br = new BufferedReader(fr); //建立BufferedReader對象,並設定由br對象變量引用
String Line = br.readLine(); //讀取一行數據
out.println(Line + "<BR>"); //輸出讀取得的數據
br.close(); //關閉BufferedReader對象
fr.close(); //關閉文件
%>
</FONT>
</BODY>
</HTML>