2011年6月30日星期四

  java的文件操作注意事项

在java中文件操作,创建文件的时候注意:举个例子说明问题

将c:\temp.txt文件 copy 到D:\test\java\file\这个目录下创建一个文件:temp.txt。

这样容易遗漏掉一个问题:

如果不存在路径d:\text\java\file。也就是说d盘肯可能根本就没有text这个文件夹,或者d:\text文件夹内没有java文件夹,或者d:\text\java文件夹没有file文件夹。会出现什么情况?

起初我认为系统会帮助我们创建,其实,不是的。

如果在目的地没有这个路径,会出现FileNotFound异常。

所有在进行文件创建操作一定要分为两步:

1.判断是否路径存在 2.创建文件

 
String filePath = "d:\\text\java\file\\temp.txt";
String dirPath = filePath.substring(filePath,0,filePath.lastIndexOf("\\"));
 
File dir = new File(dirPath);//1.创建文件所在的目录
if(!dir.exists()){
    dir.mkdirs();//注意mkdir()方法的区别
}
 
File file = new File(filePath);
 
 
if(!file.exists()){
   file.createNewFile();
}
 
FileInputStream in = new FileInputStream(new File("c:\\temp.txt"));
FileOutputStream out  = new FileOutputStream(file);
int len = 0;
byte[] buffer = new byte[128];
while((len=in.read(buffer))>0){
    out.write(buffer,0,len);
}

没有评论:

发表评论