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>

<B>读取所有的文件数据</B>

<ccid_nobr>

<table width="400" border="1" cellspacing="0" cellpadding="2"

bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center">

<tr>

<td bgcolor="e6e6e6" class="code" style="font-size:9pt">

<pre><ccid_code> <%@ 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.readLin

e();//读取一行数据

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("\nAppend 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></I></I></I></I>

posted @ 2013-02-21 12:56  残阳掠影  阅读(2318)  评论(0编辑  收藏  举报