JAVA基础知识:JSP文件操作大全

以下的文件操作,都可以直接copy到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 + 'fileinc	.txt');//建立FileReader对象,并实例化为fr 
BufferedReader br=newBufferedReader(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(); 
</B> </DIV> 
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>

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部