本文内的 JSP 程序都是按功能自己成立一个独立的程序,大家要使用什么功能,自己组合吧。
文件的建立/检查与删除
<%@ page contentType="text/HTML;charset=gb2312"%>
<%@ page import="java.io.*"%>
<%
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 不存在,已建立。");//输出目前所在的目录路径
}
%>
目录的建立/检查与删除
<%@ page contentType="text/HTML;charset=gb2312"%>
<%@ page import="java.io.*"%>
<%
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目录不存在,已建立");
}
%>
如何在JSP中处理虚拟目录
<%@ page contentType="text/HTML;charset=gb2312"%>
<%@ page import="java.io.*"%>
取得虚拟目录对应的磁盘路径
Web站点主目录的位置为<%=request.getRealPath("/")%>
JSP网页所在的目录位置<%=request.getRealPath("./")%>
JSP网页所在目录上一层目录的位置<%=request.getRealPath("../")%>
文件属性的取得
<%@ page contentType="text/HTML;charset=gb2312"%>
<%@ page import="java.util.Date,java.io.*"%>
<%
String path=request.getRealPath("/");
File f=new File(path,"ReadData.txt");
if(f.exists()){
%>
<%=f.getName()%>的属性如下:
文件长度为:<%=f.length()%>
<%=f.isFile()?"是文件":"不是文件"%>
<%=f.isDirectory()?"是目录":"不是目录"%>
<%=f.canRead()?"可读取":"不可读取"%>
<%=f.canWrite()?"可写入":"不可写入"%>
<%=f.isHidden()?"是隐藏文件":"不是隐藏文件"%>
文件的最后修改日期为:<%=new Date(f.lastModified())%>
<%
}else{
f.createNewFile();//在当前目录下建立一个名为ReaData.txt的文件
%>
<%=f.getName()%>的属性如下:
文件长度为:<%=f.length()%>
<%=f.isFile()?"是文件":"不是文件"%>
<%=f.isDirectory()?"是目录":"不是目录"%>
<%=f.canRead()?"可读取":"不可读取"%>
<%=f.canWrite()?"可写入":"不可写入"%>
<%=f.isHidden()?"是隐藏文件":"不是隐藏文件"%>
文件的最后修改日期为:<%=new Date(f.lastModified())%>
<%
}
%>
取出目录中文件的方法
<%@ page contentType="text/HTML;charset=gb2312"%>
<%@ page import="java.io.*"%>
<%
String path=request.getRealPath("/");
File d=new File(path);//建立当前目录中文件的File对象
File list[]=d.listFiles();//取得代表目录中所有文件的File对象数组
out.println("" + path + "目录下的文件:
");
for(int i=0;i if(list[i].isFile()){ out.println(list[i].getName() + " } } out.println(" for(int i=0;i if(list[i].isDirectory()){ out.println(list[i].getName() + " } } %> 判断是否为空白文件 <%@ page contentType="text/HTML;charset=gb2312"%> <%@ page import="java.io.*"%>
");
" + path + "目录下的目录:
");
");
<%
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文件中没有数据
");
}else{
out.println("AtEnd.txt文件中有数据");
}
fr.close();
%>
读取所有的文件数据
<%@ page contentType="text/HTML;charset=gb2312"%>
<%@ page import="java.io.*,java.lang.*"%>
<%
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("
");//输出分行标签
fr.skip(1);//略过一个字符
//c=fr.read();//读取一个字符
}
}
fr.close();
%>

