欧阳老师 发表于 2017-7-29 19:56:09

吉林大学《脚本语言和互动网页设计》拓展资源

吉大《脚本语言和互动网页设计》拓展资源(八)
第八章JSP中的文件操作

一、JSP文件操作实例大全
文件的建立/检查与删除
&lt%@pagecontentType=&quottext/htmlcharset=gb2312&quot%&gt
&lt%@pageimport=&quotjava.io.*&quot%&gt
&lthtml&gt
&lthead&gt
&lttitle&gt文件的建立、检查与删除&lt/title&gt
&lt/head&gt
&ltbody&gt
&lt%
Stringpath=request.getRealPath(&quot&quot)
//out.println(path)
Filef=newFile(path&quotFile.txt&quot)
//out.println(f)
//out.println(f.exists())
if(f.exists()){//检查File.txt是否存在
f.delete()//删除File.txt文件
out.println(path+&quotfile//File.txt/存在,已删除。&quot)
}else{
f.createNewFile()//在当前目录下建立一个名为File.txt的文件
out.println(path+&quotfile//File.txt/不存在,已建立。&quot)//输出目前所在的目录路径
}
%&gt
目录的建立/检查与删除
&lt%@pagecontentType=&quottext/htmlcharset=gb2312&quot%&gt
&lt%@pageimport=&quotjava.io.*&quot%&gt
&lthtml&gt
&lthead&gt
&lttitle&gt目录的建立/检查与删除&lt/title&gt
&lt/head&gt
&ltbody&gt
&lt%
Stringpath=request.getRealPath(&quot&quot)
path=path+&quotfile//Sub&quot//将要建立的目录路径
Filed=newFile(path)//建立代表Sub目录的File对象,并得到它的一个引用
if(d.exists()){//检查Sub目录是否存在
d.delete()
out.println(&quotSub目录存在,已删除&quot)
}else{
d.mkdir()//建立Sub目录
out.println(&quotSub目录不存在,已建立&quot)
}
%&gt
&lt/body&gt
&lt/html&gt
如何在JSP中处理虚拟目录
&lt%@pagecontentType=&quottext/htmlcharset=gb2312&quot%&gt
&lt%@pageimport=&quotjava.io.*&quot%&gt
&lthtml&gt
&lthead&gt
&lttitle&gtJSP中如何处理虚拟目录&lt/title&gt
&lt/head&gt
&ltbody&gt
取得虚拟目录对应的磁盘路径&ltbr&gt
Web站点主目录的位置为&ltfontcolor=#ff0000&gt&lt%=request.getRealPath(&quot/&quot)%&gt&lt/font&gt&ltbr&gt
JSP网页所在的目录位置&ltfontcolor=#ff0000&gt&lt%=request.getRealPath(&quot./&quot)%&gt&lt/font&gt&ltbr&gt
JSP网页所在目录上一层目录的位置&ltfontcolor=#ff0000&gt&lt%=request.getRealPath(&quot../&quot)%&gt&lt/font&gt&ltbr&gt
&lt/body&gt
&lt/html&gt
文件属性的取得
&lt%@pagecontentType=&quottext/htmlcharset=gb2312&quot%&gt
&lt%@pageimport=&quotjava.util.Datejava.io.*&quot%&gt
&lthtml&gt
&lthead&gt
&lttitle&gt文件属性的取得&lt/title&gt
&lt/head&gt
&ltbody&gt
&lt%
Stringpath=request.getRealPath(&quot/&quot)
Filef=newFile(path&quotReadData.txt&quot)
if(f.exists()){
%&gt
&lt%=f.getName()%&gt的属性如下:&ltbr&gt&ltbr&gt
文件长度为:&lt%=f.length()%&gt
&lt%=f.isFile()?&quot是文件&quot&quot不是文件&quot%&gt&ltbr&gt
&lt%=f.isDirectory()?&quot是目录&quot&quot不是目录&quot%&gt&ltbr&gt
&lt%=f.canRead()?&quot可读取&quot&quot不可读取&quot%&gt&ltbr&gt
&lt%=f.canWrite()?&quot可写入&quot&quot不可写入&quot%&gt&ltbr&gt
&lt%=f.isHidden()?&quot是隐藏文件&quot&quot不是隐藏文件&quot%&gt&ltbr&gt
文件的最后修改日期为:&lt%=newDate(f.lastModified())%&gt&ltbr&gt
&lt%
}else{
f.createNewFile()//在当前目录下建立一个名为ReaData.txt的文件
%&gt
&lt%=f.getName()%&gt的属性如下:&ltbr&gt&ltbr&gt
文件长度为:&lt%=f.length()%&gt
&lt%=f.isFile()?&quot是文件&quot&quot不是文件&quot%&gt&ltbr&gt
&lt%=f.isDirectory()?&quot是目录&quot&quot不是目录&quot%&gt&ltbr&gt
&lt%=f.canRead()?&quot可读取&quot&quot不可读取&quot%&gt&ltbr&gt
&lt%=f.canWrite()?&quot可写入&quot&quot不可写入&quot%&gt&ltbr&gt
&lt%=f.isHidden()?&quot是隐藏文件&quot&quot不是隐藏文件&quot%&gt&ltbr&gt
文件的最后修改日期为:&lt%=newDate(f.lastModified())%&gt&ltbr&gt
&lt%
}
%&gt
&lt/body&gt
&lt/html&gt
取出目录中文件的方法
&lt%@pagecontentType=&quottext/htmlcharset=gb2312&quot%&gt
&lt%@pageimport=&quotjava.io.*&quot%&gt
&lthtml&gt
&lthead&gt
&lttitle&gt取出目录中文件的方法列出目录中的文件&lt/title&gt
&lt/head&gt
&ltbody&gt
&lt%
Stringpath=request.getRealPath(&quot/&quot)
Filed=newFile(path)//建立当前目录中文件的File对象
Filelist[]=d.listFiles()//取得代表目录中所有文件的File对象数组
out.println(&quot&ltfontcolor=#ff0000&gt&quot+path+&quot目录下的文件:&lt/font&gt&ltbr&gt&quot)
for(inti=0i&ltlist.lengthi++){
if(list&ltI&gt.isFile()){
out.println(list&ltI&gt.getName()+&quot&ltbr&gt&quot)
}
}
out.println(&quot&ltbr&gt&ltfontcolor=#ff0000&gt&quot+path+&quot目录下的目录:&lt/font&gt&ltbr&gt&quot)
for(inti=0i&ltlist.lengthi++){
if(list&ltI&gt.isDirectory()){
out.println(list&ltI&gt.getName()+&quot&ltbr&gt&quot)
}
}
%&gt
&lt/body&gt
&lt/html&gt
判断是否为空白文件
&lt%@pagecontentType=&quottext/htmlcharset=gb2312&quot%&gt
&lt%@pageimport=&quotjava.io.*&quot%&gt
&lthtml&gt
&lthead&gt
&lttitle&gt判断是否为空白文件&lt/title&gt
&lt/head&gt
&ltbody&gt
&lt%
Stringpath=request.getRealPath(&quot/&quot)
out.println(path)
FileReaderfr=newFileReader(path+&quotfile//AtEnd.txt&quot)//建立FileReader对象,并实例化为fr
//对FileReader类生成的对象使用read()方法,可以从字符流中读取下一个字符。
if(fr.read()==1)//判断是否已读到文件的结尾
{
out.print(&quotAtEnd.txt文件中没有数据&ltbr&gt&quot)
}else{
out.println(&quotAtEnd.txt文件中有数据&quot)
}
fr.close()
%&gt
&lt/body&gt
&lt/html&gt
读取所有的文件数据
&lt%@pagecontentType=&quottext/htmlcharset=gb2312&quot%&gt
&lt%@pageimport=&quotjava.io.*java.lang.*&quot%&gt
&lthtml&gt
&lthead&gt
&lttitle&gt读取所有的文件数据&lt/title&gt
&lt/head&gt
&ltbody&gt
&lt%
Stringpath=request.getRealPath(&quot.&quot)
FileReaderfr=newFileReader(path+&quotfile//ReadData.txt/&quot)
//关键在于读取过程中,要判断所读取的字符是否已经到了文件的末尾,并且这个字符是不是文件中的断行符,即判断该字符值是否为13。
intc=fr.read()//从文件中读取一个字符
//判断是否已读到文件结尾
while(c!=1){
out.print((char)c)//输出读到的数据
c=fr.read()//从文件中继续读取数据
if(c==13){//判断是否为断行字符
out.print(&quot&ltbr&gt&quot)//输出分行标签
fr.skip(1)//略过一个字符
//c=fr.read()//读取一个字符
}
}
fr.close()
%&gt
&lt/body&gt
&lt/html&gt
一行一行读取数据
&lt%@pagecontentType=&quottext/htmlcharset=gb2312&quot%&gt
&lt%@pageimport=&quotjava.io.*&quot%&gt
&lthtml&gt
&lthead&gt
&lttitle&gt文件读取&lt/title&gt
&lt/head&gt
&ltbody&gt
&lt%
Stringpath=request.getRealPath(&quot&quot)//取得当前目录的路径
FileReaderfr=newFileReader(path+&quotfile//file//inc//t.txt&quot)//建立FileReader对象,并实例化为fr
BufferedReaderbr=newBufferedReader(fr)//建立BufferedReader对象,并实例化为br
StringLine=br.readLine()//从文件读取一行字符串
//判断读取到的字符串是否不为空
while(Line!=null){
out.println(Line+&quot&ltbr&gt&quot)//输出从文件中读取的数据
Line=br.readLine()//从文件中继续读取一行数据
}
br.close()//关闭BufferedReader对象
fr.close()//关闭文件
%&gt
&lt/body&gt
&lt/html&gt
略过文件中的字符不读取
&lt%@pagecontentType=&quottext/htmlcharset=gb2312&quot%&gt
&lt%@pageimport=&quotjava.io.*&quot%&gt
&lthtml&gt
&lthead&gt
&lttitle&gt略过字节不读取&lt/title&gt
&lt/head&gt
&ltbody&gt
&lt%
Stringpath=request.getRealPath(&quot.&quot)
FileReaderfr=newFileReader(path+&quotfile//ReadData.txt/&quot)
fr.skip(2)//跳过2个字节
intc=fr.read()//读取一个字节
while(c!=1){
out.print((char)c)
c=fr.read()
}
fr.close()
%&gt
&lt/body&gt
&lt/html&gt
将数据写入文件
&lt%@pagecontentType=&quottext/htmlcharset=gb2312&quot%&gt
&lt%@pageimport=&quotjava.io.*&quot%&gt
&lthtml&gt
&lthead&gt
&lttitle&gt将数据写入文件&lt/title&gt
&lt/head&gt
&ltbody&gt
&lt%
Stringpath=request.getRealPath(&quot.&quot)
FileWriterfw=newFileWriter(path+&quotfile//WriteData.txt&quot)//建立FileWriter对象,并实例化fw
//将字符串写入文件
fw.write(&quot大家好!&quot)
fw.write(&quot本书是《JSP编程技巧》&quot)
fw.write(&quot请多多指教!&quot)
fw.write(&quotemail/**/&quot)
fw.close()
FileReaderfr=newFileReader(path+&quotfile//WriteData.txt/&quot)
BufferedReaderbr=newBufferedReader(fr)//建立BufferedReader对象,并实例化为br
StringLine=br.readLine()
//读取一行数据
out.println(Line+&quot&ltbr&gt&quot)
br.close()//关闭BufferedReader对象
fr.close()
%&gt
&lt/body&gt
&lt/html&gt
将写入文件的数据分行
&lt%@pagecontentType=&quottext/htmlcharset=gb2312&quot%&gt
&lt%@pageimport=&quotjava.io.*&quot%&gt
&lthtml&gt
&lthead&gt
&lttitle&gt将写入文件的数据分行&lt/title&gt
&lt/head&gt
&ltbody&gt
&lt%
Stringpath=request.getRealPath(&quot.&quot)
FileWriterfw=newFileWriter(path+&quotfile//WriteData.txt/&quot)
BufferedWriterbw=newBufferedWriter(fw)
bw.write(&quot大家好!&quot)
bw.write(&quot本书是《JSP编程技巧》。&quot)
bw.newLine()//断行
bw.write(&quot请多多指教!&quot)
bw.newLine()//断行
bw.write(&quotemail/**/&quot)
bw.flush()//将数据更新至文件
fw.close()//关闭文件流
out.println(&quot写入文件内容为:&ltbr&gt&quot)
FileReaderfr=newFileReader(path+&quotfile//WriteData.txt/&quot)
BufferedReaderbr=newBufferedReader(fr)
StringLine=br.readLine()//读取一行数据
while(Line!=null){
out.println(Line+&quot&ltbr&gt&quot)
Line=br.readLine()
}
fr.close()
%&gt
&lt/body&gt
&lt/html&gt
如何将数据追加写入到文件
&lt%@pagecontentType=&quottext/htmlcharset=gb2312&quot%&gt
&lt%@pageimport=&quotjava.io.*&quot%&gt
&lthtml&gt
&lthead&gt
&lttitle&gt将写入文件的数据分行&lt/title&gt
&lt/head&gt
&ltbody&gt
&lt%
Stringpath=request.getRealPath(&quot.&quot)
RandomAccessFilerf=newRandomAccessFile(path+&quotfile//WriteData.txt&quot&quotrw&quot)//定义一个类RandomAccessFile的对象,并实例化
rf.seek(rf.length())//将指针移动到文件末尾
rf.writeBytes(&quot\nAppendalinetothefile!&quot)
rf.close()//关闭文件流
out.println(&quot写入文件内容为:&ltbr&gt&quot)
FileReaderfr=newFileReader(path+&quotfile//WriteData.txt/&quot)
BufferedReaderbr=newBufferedReader(fr)//读取文件的BufferedRead对象
StringLine=br.readLine()
while(Line!=null){
out.println(Line+&quot&ltbr&gt&quot)
Line=br.readLine()
}
fr.close()//关闭文件
%&gt
&lt/body&gt
&lt/html&gt

更多免费学习资料请登录www.openhelp100.com

页: [1]
查看完整版本: 吉林大学《脚本语言和互动网页设计》拓展资源