操作服务器上的文本文件 [1]
本文内的 jsp 程序都是按功能自己成立一个独立的程序,大家要使用什么功能,自己组合吧。
文件的建立/检查与删除
<%@ page contentType="text/html;charset=gb2312"%> if(f.exists()){//检查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> |
读取所有的文件数据
<%@ 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> |