以下的文件操作,都可以直接copy到jsp文件里执行。很有用处的。
文件的建立/检查与删除
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<%@ 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 不存在,已建立。');//输出目前所在的目录路径 } %> |
目录的建立/检查与删除
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<%@ 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中处理虚拟目录
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<%@ 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> |
文件属性的取得
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<%@ 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> |
取出目录中文件的方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<%@ 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> |
判断是否为空白文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<%@ 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> |
读取所有的文件数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<%@ 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> |
一行一行读取数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<%@ 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 + 'fileinc .txt');//建立FileReader对象,并实例化为fr BufferedReader br=newBufferedReader(fr);//建立BufferedReader对象,并实例化为br String Line=br.readLine();//从文件读取一行字符串 //判断读取到的字符串是否不为空 while(Line!=null){ out.println(Line + '<br>');//输出从文件中读取的数据 Line=br.readLine();//从文件中继续读取一行数据 } br.close();//关闭BufferedReader对象 fr.close();//关闭文件 %> </body> </html> |
略过文件中的字符不读取
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<%@ 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> |
将数据写入文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<%@ 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(); </B> </DIV> 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> |
将写入文件的数据分行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<%@ 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> |
如何将数据追加写入到文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<%@ 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(' Append 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> |