吉林大学《脚本语言和互动网页设计》拓展资源
吉大《脚本语言和互动网页设计》拓展资源(八)第八章JSP中的文件操作
一、JSP文件操作实例大全
文件的建立/检查与删除
<%@pagecontentType="text/htmlcharset=gb2312"%>
<%@pageimport="java.io.*"%>
<html>
<head>
<title>文件的建立、检查与删除</title>
</head>
<body>
<%
Stringpath=request.getRealPath("")
//out.println(path)
Filef=newFile(path"File.txt")
//out.println(f)
//out.println(f.exists())
if(f.exists()){//检查File.txt是否存在
f.delete()//删除File.txt文件
out.println(path+"file//File.txt/存在,已删除。")
}else{
f.createNewFile()//在当前目录下建立一个名为File.txt的文件
out.println(path+"file//File.txt/不存在,已建立。")//输出目前所在的目录路径
}
%>
目录的建立/检查与删除
<%@pagecontentType="text/htmlcharset=gb2312"%>
<%@pageimport="java.io.*"%>
<html>
<head>
<title>目录的建立/检查与删除</title>
</head>
<body>
<%
Stringpath=request.getRealPath("")
path=path+"file//Sub"//将要建立的目录路径
Filed=newFile(path)//建立代表Sub目录的File对象,并得到它的一个引用
if(d.exists()){//检查Sub目录是否存在
d.delete()
out.println("Sub目录存在,已删除")
}else{
d.mkdir()//建立Sub目录
out.println("Sub目录不存在,已建立")
}
%>
</body>
</html>
如何在JSP中处理虚拟目录
<%@pagecontentType="text/htmlcharset=gb2312"%>
<%@pageimport="java.io.*"%>
<html>
<head>
<title>JSP中如何处理虚拟目录</title>
</head>
<body>
取得虚拟目录对应的磁盘路径<br>
Web站点主目录的位置为<fontcolor=#ff0000><%=request.getRealPath("/")%></font><br>
JSP网页所在的目录位置<fontcolor=#ff0000><%=request.getRealPath("./")%></font><br>
JSP网页所在目录上一层目录的位置<fontcolor=#ff0000><%=request.getRealPath("../")%></font><br>
</body>
</html>
文件属性的取得
<%@pagecontentType="text/htmlcharset=gb2312"%>
<%@pageimport="java.util.Datejava.io.*"%>
<html>
<head>
<title>文件属性的取得</title>
</head>
<body>
<%
Stringpath=request.getRealPath("/")
Filef=newFile(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>
文件的最后修改日期为:<%=newDate(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>
文件的最后修改日期为:<%=newDate(f.lastModified())%><br>
<%
}
%>
</body>
</html>
取出目录中文件的方法
<%@pagecontentType="text/htmlcharset=gb2312"%>
<%@pageimport="java.io.*"%>
<html>
<head>
<title>取出目录中文件的方法列出目录中的文件</title>
</head>
<body>
<%
Stringpath=request.getRealPath("/")
Filed=newFile(path)//建立当前目录中文件的File对象
Filelist[]=d.listFiles()//取得代表目录中所有文件的File对象数组
out.println("<fontcolor=#ff0000>"+path+"目录下的文件:</font><br>")
for(inti=0i<list.lengthi++){
if(list<I>.isFile()){
out.println(list<I>.getName()+"<br>")
}
}
out.println("<br><fontcolor=#ff0000>"+path+"目录下的目录:</font><br>")
for(inti=0i<list.lengthi++){
if(list<I>.isDirectory()){
out.println(list<I>.getName()+"<br>")
}
}
%>
</body>
</html>
判断是否为空白文件
<%@pagecontentType="text/htmlcharset=gb2312"%>
<%@pageimport="java.io.*"%>
<html>
<head>
<title>判断是否为空白文件</title>
</head>
<body>
<%
Stringpath=request.getRealPath("/")
out.println(path)
FileReaderfr=newFileReader(path+"file//AtEnd.txt")//建立FileReader对象,并实例化为fr
//对FileReader类生成的对象使用read()方法,可以从字符流中读取下一个字符。
if(fr.read()==1)//判断是否已读到文件的结尾
{
out.print("AtEnd.txt文件中没有数据<br>")
}else{
out.println("AtEnd.txt文件中有数据")
}
fr.close()
%>
</body>
</html>
读取所有的文件数据
<%@pagecontentType="text/htmlcharset=gb2312"%>
<%@pageimport="java.io.*java.lang.*"%>
<html>
<head>
<title>读取所有的文件数据</title>
</head>
<body>
<%
Stringpath=request.getRealPath(".")
FileReaderfr=newFileReader(path+"file//ReadData.txt/")
//关键在于读取过程中,要判断所读取的字符是否已经到了文件的末尾,并且这个字符是不是文件中的断行符,即判断该字符值是否为13。
intc=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>
一行一行读取数据
<%@pagecontentType="text/htmlcharset=gb2312"%>
<%@pageimport="java.io.*"%>
<html>
<head>
<title>文件读取</title>
</head>
<body>
<%
Stringpath=request.getRealPath("")//取得当前目录的路径
FileReaderfr=newFileReader(path+"file//file//inc//t.txt")//建立FileReader对象,并实例化为fr
BufferedReaderbr=newBufferedReader(fr)//建立BufferedReader对象,并实例化为br
StringLine=br.readLine()//从文件读取一行字符串
//判断读取到的字符串是否不为空
while(Line!=null){
out.println(Line+"<br>")//输出从文件中读取的数据
Line=br.readLine()//从文件中继续读取一行数据
}
br.close()//关闭BufferedReader对象
fr.close()//关闭文件
%>
</body>
</html>
略过文件中的字符不读取
<%@pagecontentType="text/htmlcharset=gb2312"%>
<%@pageimport="java.io.*"%>
<html>
<head>
<title>略过字节不读取</title>
</head>
<body>
<%
Stringpath=request.getRealPath(".")
FileReaderfr=newFileReader(path+"file//ReadData.txt/")
fr.skip(2)//跳过2个字节
intc=fr.read()//读取一个字节
while(c!=1){
out.print((char)c)
c=fr.read()
}
fr.close()
%>
</body>
</html>
将数据写入文件
<%@pagecontentType="text/htmlcharset=gb2312"%>
<%@pageimport="java.io.*"%>
<html>
<head>
<title>将数据写入文件</title>
</head>
<body>
<%
Stringpath=request.getRealPath(".")
FileWriterfw=newFileWriter(path+"file//WriteData.txt")//建立FileWriter对象,并实例化fw
//将字符串写入文件
fw.write("大家好!")
fw.write("本书是《JSP编程技巧》")
fw.write("请多多指教!")
fw.write("email/**/")
fw.close()
FileReaderfr=newFileReader(path+"file//WriteData.txt/")
BufferedReaderbr=newBufferedReader(fr)//建立BufferedReader对象,并实例化为br
StringLine=br.readLine()
//读取一行数据
out.println(Line+"<br>")
br.close()//关闭BufferedReader对象
fr.close()
%>
</body>
</html>
将写入文件的数据分行
<%@pagecontentType="text/htmlcharset=gb2312"%>
<%@pageimport="java.io.*"%>
<html>
<head>
<title>将写入文件的数据分行</title>
</head>
<body>
<%
Stringpath=request.getRealPath(".")
FileWriterfw=newFileWriter(path+"file//WriteData.txt/")
BufferedWriterbw=newBufferedWriter(fw)
bw.write("大家好!")
bw.write("本书是《JSP编程技巧》。")
bw.newLine()//断行
bw.write("请多多指教!")
bw.newLine()//断行
bw.write("email/**/")
bw.flush()//将数据更新至文件
fw.close()//关闭文件流
out.println("写入文件内容为:<br>")
FileReaderfr=newFileReader(path+"file//WriteData.txt/")
BufferedReaderbr=newBufferedReader(fr)
StringLine=br.readLine()//读取一行数据
while(Line!=null){
out.println(Line+"<br>")
Line=br.readLine()
}
fr.close()
%>
</body>
</html>
如何将数据追加写入到文件
<%@pagecontentType="text/htmlcharset=gb2312"%>
<%@pageimport="java.io.*"%>
<html>
<head>
<title>将写入文件的数据分行</title>
</head>
<body>
<%
Stringpath=request.getRealPath(".")
RandomAccessFilerf=newRandomAccessFile(path+"file//WriteData.txt""rw")//定义一个类RandomAccessFile的对象,并实例化
rf.seek(rf.length())//将指针移动到文件末尾
rf.writeBytes("\nAppendalinetothefile!")
rf.close()//关闭文件流
out.println("写入文件内容为:<br>")
FileReaderfr=newFileReader(path+"file//WriteData.txt/")
BufferedReaderbr=newBufferedReader(fr)//读取文件的BufferedRead对象
StringLine=br.readLine()
while(Line!=null){
out.println(Line+"<br>")
Line=br.readLine()
}
fr.close()//关闭文件
%>
</body>
</html>
更多免费学习资料请登录www.openhelp100.com
页:
[1]