1文件的建立/檢查與刪除
  2<%@ page contentType="text/html;charset=gb2312"%>
  3<%@ page import="java.io.*"%>
  4<html>
  5<head>
  6<title>文件的建立、檢查與刪除</title>
  7</head>
  8<body>
  9<%
 10String path=request.getRealPath("");
 11//out.println(path);
 12File f=new File(path,"File.txt");
 13//out.println(f);
 14//out.println(f.exists());
 15
 16if(f.exists()){//檢查File.txt是否存在
 17f.delete();//刪除File.txt文件
 18out.println(path + "\\File.txt 存在,已刪除。");
 19}else{
 20f.createNewFile();//在當前目錄下建立一個名為File.txt的文件
 21out.println(path + "\\File.txt 不存在,已建立。");//輸出目前所在的目錄路徑
 22}
 23
%>
 24
 25目錄的建立/檢查與刪除
 26<%@ page contentType="text/html;charset=gb2312"%>
 27<%@ page import="java.io.*"%>
 28<html>
 29<head>
 30<title>目錄的建立/檢查與刪除</title>
 31</head>
 32<body>
 33<%
 34String path=request.getRealPath("");
 35path=path + "\\Sub";//將要建立的目錄路徑
 36File d=new File(path);//建立代表Sub目錄的File對象,并得到它的一個引用
 37if(d.exists()){//檢查Sub目錄是否存在
 38d.delete();
 39out.println("Sub目錄存在,已刪除");
 40}else{
 41d.mkdir();//建立Sub目錄
 42out.println("Sub目錄不存在,已建立");
 43}
 44
%>
 45</body>
 46</html>
 47
 48
 49如何在JSP中處理虛擬目錄
 50<%@ page contentType="text/html;charset=gb2312"%>
 51<%@ page import="java.io.*"%>
 52<html>
 53<head>
 54<title>JSP中如何處理虛擬目錄</title>
 55</head>
 56<body>
 57取得虛擬目錄對應的磁盤路徑<br>
 58Web站點主目錄的位置為<font color=#ff0000><%=request.getRealPath("/")%></font><br>
 59JSP網頁所在的目錄位置<font color=#ff0000><%=request.getRealPath("./")%></font><br>
 60JSP網頁所在目錄上一層目錄的位置<font color=#ff0000><%=request.getRealPath("../")%></font><br>
 61</body>
 62</html>
 63
 64
 65文件屬性的取得
 66<%@ page contentType="text/html;charset=gb2312"%>
 67<%@ page import="java.util.Date,java.io.*"%>
 68<html>
 69<head>
 70<title>文件屬性的取得</title>
 71</head>
 72<body>
 73<%
 74String path=request.getRealPath("/");
 75File f=new File(path,"ReadData.txt");
 76if(f.exists()){
 77
%>
 78<%=f.getName()%>的屬性如下:<br><br>
 79文件長度為:<%=f.length()%>
 80<%=f.isFile()?"是文件":"不是文件"%><br>
 81<%=f.isDirectory()?"是目錄":"不是目錄"%><br>
 82<%=f.canRead()?"可讀取":"不可讀取"%><br>
 83<%=f.canWrite()?"可寫入":"不可寫入"%><br>
 84<%=f.isHidden()?"是隱藏文件":"不是隱藏文件"%><br>
 85文件的最后修改日期為:<%=new Date(f.lastModified())%><br>
 86<%
 87}else{
 88f.createNewFile();//在當前目錄下建立一個名為ReaData.txt的文件
 89
%> 
 90<%=f.getName()%>的屬性如下:<br><br>
 91文件長度為:<%=f.length()%>
 92<%=f.isFile()?"是文件":"不是文件"%><br>
 93<%=f.isDirectory()?"是目錄":"不是目錄"%><br>
 94<%=f.canRead()?"可讀取":"不可讀取"%><br>
 95<%=f.canWrite()?"可寫入":"不可寫入"%><br>
 96<%=f.isHidden()?"是隱藏文件":"不是隱藏文件"%><br>
 97文件的最后修改日期為:<%=new Date(f.lastModified())%><br>
 98<%
 99}
100
%>
101</body>
102</html>
103
104
105取出目錄中文件的方法
106<%@ page contentType="text/html;charset=gb2312"%>
107<%@ page import="java.io.*"%>
108<html>
109<head>
110<title>取出目錄中文件的方法--列出目錄中的文件</title>
111</head>
112<body>
113<%
114String path=request.getRealPath("/");
115File d=new File(path);//建立當前目錄中文件的File對象
116File list[]=d.listFiles();//取得代表目錄中所有文件的File對象數組
117out.println("<font color=#ff0000>" + path + "目錄下的文件:</font><br>");
118for(int i=0;i<list.length;i++){
119if(list<I>.isFile()){
120out.println(list<I>.getName() + "<br>");
121}
122}
123out.println("<br><font color=#ff0000>" + path + "目錄下的目錄:</font><br>");
124for(int i=0;i<list.length;i++){
125if(list<I>.isDirectory()){
126out.println(list<I>.getName() + "<br>");
127}
128}
129
%>
130</body>
131</html>
132
133
134判斷是否為空白文件
135<%@ page contentType="text/html;charset=gb2312"%>
136<%@ page import="java.io.*"%>
137<html>
138<head>
139<title>判斷是否為空白文件</title>
140</head>
141<body>
142<%
143String path=request.getRealPath("/");
144out.println(path);
145FileReader fr=new FileReader(path + "\\AtEnd.txt");//建立FileReader對象,并實例化為fr
146//對FileReader類生成的對象使用read()方法,可以從字符流中讀取下一個字符。
147if(fr.read()==-1)//判斷是否已讀到文件的結尾
148{
149out.print("AtEnd.txt文件中沒有數據<br>");
150}else{
151out.println("AtEnd.txt文件中有數據");
152}
153fr.close();
154
%>
155</body>
156</html>
157
158
159讀取所有的文件數據
160<%@ page contentType="text/html;charset=gb2312"%>
161<%@ page import="java.io.*,java.lang.*"%>
162<html>
163<head>
164<title>讀取所有的文件數據</title>
165</head>
166<body>
167<%
168String path=request.getRealPath(".");
169FileReader fr=new FileReader(path + "\\ReadData.txt");
170//關鍵在于讀取過程中,要判斷所讀取的字符是否已經到了文件的末尾,并且這個字符是不是文件中的斷行符,即判斷該字符值是否為13。
171int c=fr.read();//從文件中讀取一個字符
172//判斷是否已讀到文件結尾
173while(c!=-1){
174out.print((char)c);//輸出讀到的數據
175c=fr.read();//從文件中繼續讀取數據
176if(c==13){//判斷是否為斷行字符
177out.print("<br>");//輸出分行標簽
178fr.skip(1);//略過一個字符
179//c=fr.read();//讀取一個字符
180}
181}
182fr.close();
183
%>
184</body>
185</html>
186
187
188一行一行讀取數據
189<%@ page contentType="text/html;charset=gb2312"%>
190<%@ page import="java.io.*"%>
191<html>
192<head>
193<title>文件讀取</title>
194</head>
195<body>
196<%
197String path=request.getRealPath("");//取得當前目錄的路徑
198FileReader fr=new FileReader(path + "\\file\\inc\\t.txt");//建立FileReader對象,并實例化為fr
199BufferedReader br=new BufferedReader(fr);//建立BufferedReader對象,并實例化為br
200String Line=br.readLine();//從文件讀取一行字符串
201//判斷讀取到的字符串是否不為空
202while(Line!=null){
203out.println(Line + "<br>");//輸出從文件中讀取的數據
204Line=br.readLine();//從文件中繼續讀取一行數據
205}
206br.close();//關閉BufferedReader對象
207fr.close();//關閉文件
208
%>
209</body>
210</html>
211
212
213略過文件中的字符不讀取
214<%@ page contentType="text/html;charset=gb2312"%>
215<%@ page import="java.io.*"%>
216<html>
217<head>
218<title>略過字節不讀取</title>
219</head>
220<body>
221<%
222String path=request.getRealPath(".");
223FileReader fr=new FileReader(path + "\\ReadData.txt");
224fr.skip(2);//跳過2個字節
225int c=fr.read();//讀取一個字節
226while(c!=-1){
227out.print((char)c);
228c=fr.read();
229}
230fr.close();
231
%>
232</body>
233</html>
234
235
236將數據寫入文件
237<%@ page contentType="text/html;charset=gb2312"%>
238<%@ page import="java.io.*"%>
239<html>
240<head>
241<title>將數據寫入文件</title>
242</head>
243<body>
244<%
245String path=request.getRealPath(".");
246FileWriter fw=new FileWriter(path + "\\WriteData.txt");//建立FileWriter對象,并實例化fw
247//將字符串寫入文件
248fw.write("大家好!");
249fw.write("本書是《JSP編程技巧》");
250fw.write("請多多指教!");
251fw.write("email:stride@sina.com");
252fw.close();
253
254FileReader fr=new FileReader(path + "\\WriteData.txt");
255BufferedReader br=new BufferedReader(fr);//建立BufferedReader對象,并實例化為br
256String Line=br.readLine();
257//讀取一行數據
258out.println(Line + "<br>");
259br.close();//關閉BufferedReader對象
260fr.close();
261
%>
262</body>
263</html>
264
265
266將寫入文件的數據分行
267<%@ page contentType="text/html;charset=gb2312"%>
268<%@ page import="java.io.*"%>
269<html>
270<head>
271<title>將寫入文件的數據分行</title>
272</head>
273<body>
274<%
275String path=request.getRealPath(".");
276FileWriter fw=new FileWriter(path + "\\WriteData.txt");
277BufferedWriter bw=new BufferedWriter(fw);
278bw.write("大家好!");
279bw.write("本書是《JSP編程技巧》。");
280bw.newLine();//斷行
281bw.write("請多多指教!");
282bw.newLine();//斷行
283bw.write("email: stride@sina.com");
284bw.flush();//將數據更新至文件
285fw.close();//關閉文件流
286out.println("寫入文件內容為:<br>");
287FileReader fr=new FileReader(path + "\\WriteData.txt");
288BufferedReader br=new BufferedReader(fr);
289String Line=br.readLine();//讀取一行數據
290while(Line!=null){
291out.println(Line + "<br>");
292Line=br.readLine();
293}
294fr.close();
295
%>
296</body>
297</html>
298如何將數據追加寫入到文件
299<%@ page contentType="text/html;charset=gb2312"%>
300<%@ page import="java.io.*"%>
301<html>
302<head>
303<title>將寫入文件的數據分行</title>
304</head>
305<body>
306<%
307String path=request.getRealPath(".");
308RandomAccessFile rf=new RandomAccessFile(path + "\\WriteData.txt","rw");//定義一個類RandomAccessFile的對象,并實例化
309rf.seek(rf.length());//將指針移動到文件末尾
310rf.writeBytes("\nAppend a line to the file!");
311rf.close();//關閉文件流
312out.println("寫入文件內容為:<br>");
313FileReader fr=new FileReader(path + "\\WriteData.txt");
314BufferedReader br=new BufferedReader(fr);//讀取文件的BufferedRead對象
315String Line=br.readLine();
316while(Line!=null){
317out.println(Line + "<br>");
318Line=br.readLine();
319}
320fr.close();//關閉文件
321
%>
322</body>
323</html>