`

操作文件的方法集合

阅读更多

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

文件路径问题:

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics