java 文件操作大全

来源:互联网 发布:2016新型网络传销模式 编辑:程序博客网 时间:2024/05/19 14:17
 
本文汇集常用文件操作方法,包括文件的建立/检查与删除,目录的建立/检查与删除,取出目录中文件,文件属性的取得,逐行读取数据等等。
  文件的建立/检查与删除
<%@ 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></I></I></I></I>