Java操作文件方法

来源:互联网 发布:中国免费php空间 编辑:程序博客网 时间:2024/05/20 23:05

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

文件路径问题:

绝对路径如: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。



——转自:http://hi.baidu.com/huaiyu2008/blog/item/acd769185360b5b14aedbc8b.html 

原创粉丝点击