纯jsp操作服务器上的文本文件

本文内的 jsp 程序都是按功能自己成立一个独立的程序,大家要使用什么功能,自己组合吧。

文件的建立/检查与删除

<% @ 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 不存在,已建立。");//输出目前所在的目录路径

}

%>

 

目录的建立/检查与删除

<% @ 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 >

 一行一行读取数据

 

<% @ 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 + "/file/inc/t.txt");//建立FileReader对象,并实例化为fr

BufferedReader br
=new BufferedReader(fr);//建立BufferedReader对象,并实例化为br

String Line=br.readLine();//从文件读取一行字符串

//判断读取到的字符串是否不为空

while(Line!=null){

out.println(Line 
+ "<br>");//输出从文件中读取的数据

Line
=br.readLine();//从文件中继续读取一行数据

}

br.close();
//关闭BufferedReader对象

fr.close();
//关闭文件

%>

</ body >

</ html >

略过文件中的字符不读取

 

 

<% @ 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 >

将数据写入文件

 

<% @ 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();

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 >

将写入文件的数据分行

<% @ 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 >

如何将数据追加写入到文件

<% @ 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 >

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值