java文件操作汇总

本文汇集常用文件操作方法,包括文件的建立/检查与删除,目录的建立/检查与删除,取出目录中文件,文件属性的取得,对文件数据进行读写等等。

文件路径问题:

绝对路径如:E:\\test

在JSP中String path=request.getRealPath("");

在servlet和Action中 String path=servlet.getServletContext().getRealPath("");

 

 

文件夹操作

File dirFile =new File(servlet.getServletContext().getRealPath("/test")); 
if(!dirFile.exists()){

           dirFile.mkdir();//新建文件夹

}

if(dirFile.exists()){

           dirFile.delete();//删除文件夹

}

*注意:只能删除空的文件夹,这种方法不能删除含有文件的文件夹,解决方案是先删除文件夹内的所有文件和目录。

取出目录文件

String path=request.getRealPath("/test"); 
File d=new File(path);//建立当前目录中文件的File对象 
File list[]=d.listFiles();//取得代表目录中所有文件的File对象数组 



for(int i=0;i<list.length;i++){ 

//目录下的文件:
if(list(i).isFile()){ 
System.out..println(list(i).getName()); 
} 

//目录下的目录:

if(list(i). isDirectory ()){ 
System.out..println(list(i).getName()); 
}
} 

 文件基本操作

String path = servlet.getServletContext().getRealPath("/test ");

File f =new File(path,1.txt);

if(!f.exists()){

 f.createNewFile();  //生成文件

}else{

f.isFile();//是文件:不是文件

f.isDirectory();//是目录:不是目录
f.canRead();//可读取:不可读取
f.canWrite();//可写入:不可写入
f.isHidden();//是隐藏文件:不是隐藏文件
文件的最后修改日期为: new Date(f.lastModified());

f.delete ();  //删除文件

}

 

读取文件数据

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();

 写数据到文件

String path=request.getRealPath("."); 
FileWriter fw=new FileWriter(path + "\\WriteData.txt");//建立FileWriter对象,并实例化fw

BufferedWriter bw=new BufferedWriter(fw); 
//将字符串写入文件 
bw.write("test!"); 

bw.newLine();//断行
bw.write("写数据到文本文件!"); 

bw.flush();//将数据更新至文件
fw.close();

  

 如何将数据追加写入到文件

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();//关闭文件流

 取文件的后缀名

public static String getFileSuffix(String fileName){  

                     String suffixName=null;  

                     if(filename!=null && fileName.indexOf(".")!=-1){  

                           suffixName =fileName.substring(fileName.indexOf("."));  

                     }else{  

                         return "非法文件";  

                     }  

                     return   suffixName;  

                     }

 

Java.io.File类主要是完成了文件夹管理的命名、查询文件属性和处理目录等到操作它不进行文件夹内容的读取操作。以下描述了File类的主要常用方法。
    File():构造函数,一般是依据文件所在的指定位置来创建文件对象。
    CanWrite():返回文件是否可写。
    CanRead():返回文件是否可读。
    CompareTo(File pathname):检查指定文件路径间的顺序。
    CreateNewFile():当文件不存在时生成空文件。
    Delet():从文件系统内删除该文件。
    DeleteOnExit():程序顺利结束时从系统中删除文件。
    Equals(Object obj):检查特定对象的路径名是否相等。
    Exists():判断文件夹是否存在。
    GetAbsoluteFile():返回文件的完整路径。
    GetAbsolutePath():返回文件的完整路径。
    GetName():返回文件名称。 GetParent():返回文件父目录路径。
    GetPath():返回文件的潜在相对路径。
    GetParentFile():返回文件所在文件夹的路径。
    HashCode():返回文件哈希码。
    IsDirectory():判断该路径表示的是否为目录。
    IsFile():判断该路径指示的是否是文件。
    LastModified() :返回文件的最后修改时间标志。
    Length():返回文件长度。
    List():返回文件和目录清单。
    Mkdir():生成指定的目录。
    RenameTo(File dest):更名文件。
    SetReadOnly():将文件设置为只读。
    ToString():返回文件状态的字符串。
    ToURL():将文件的路径字符串转换成URL。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值