用JAVA实现的类FileOperate,包括文件建立,查询,删除等。。
文件的建立/检查与删除
<%
@ 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.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(
"
/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
>
本文介绍了一个Java类FileOperate,提供了多种文件操作方法,包括文件夹创建、清空、列出目录内容、获取指定后缀文件及搜索文件等功能。同时展示了如何在JSP中进行文件读写操作。
7098

被折叠的 条评论
为什么被折叠?



