[转] JAVA文件操作大全
from : http://wjxk.blog.sohu.com/15362196.html
文件的建立/检查与删除
目录的建立/检查与删除
文件属性的取得
取出目录中文件的方法
一行一行读取数据
如何将数据追加写入到文件
<%
@ 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 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 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 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 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 + "fileinct.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:[email protected]");
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: [email protected]");
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 import="java.io.*" %>
< html >
< head >
< title > 文件读取 </ title >
</ head >
< body >
<%
String path=request.getRealPath("");//取得当前目录的路径
FileReader fr=new FileReader(path + "fileinct.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:[email protected]");
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: [email protected]");
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 >
<% @ 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 >
地震让大伙知道:居安思危,才是生存之道。