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>