java文件操作大全
文件的建立/检查与删除
<%@ 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("\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>