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> 
    
<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.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.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>
本文出自 51CTO.COM技术博客
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值