在线等待--关于File类的构造函数问题

qq_pride 2002-01-30 12:02:51
File类有三个构造函数:
1.File(String pathname)
2.File(File parent,String child)
3.File(String parent,String child)
我用 File f=new File("aa.txt")可以在当前目录创建一个名为aa.txt的文件,可是为什么用File f=new File("C:\\log\\aa.txt")却不能在C盘的log目录下创建一个名为aa.txt的文件呢?
另外,构造3和构造1有何区别?我可以把parent和child合在一起作为pathname啊?
请指教
...全文
223 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzgangster 2002-01-30
  • 打赏
  • 举报
回复
public void mkFile("c:/log"){
String strDir = "c
makeDir(strDir);
File f=new File("c:/log/aa.txt");
}

private void makeDir(String ss){
try{
java.io.File outFile = new java.io.File(ss);
outFile.mkdir();
}catch(Exception ex){
}
return;
}
sharetop 2002-01-30
  • 打赏
  • 举报
回复

楼上所说不错,一般的过程是这样:

File f=new File("C:\\log");
try{
if (!f.exists()){//先判断目录是否存在!
f.mkdirs();//目录不存在建立目录!
}
f=new File("C:\\log\\aa.txt");//打开文件
……
  f.close(); //我就补充这一句
}catch(Exception e){e.printStackTrace();System.out.println("error");}
xmvigour 2002-01-30
  • 打赏
  • 举报
回复
File f = new File("C:\\log\\aa.txt");
f.mkdirs();
将会建立 目录C:\\log\\aa.txt,当中aa.txt是个目录名!所以不能直接建立!
xmvigour 2002-01-30
  • 打赏
  • 举报
回复
File f=new File("C:\\log");
try{
if (!f.exists()){//先判断目录是否存在!
f.mkdirs();//目录不存在建立目录!
}
f=new File("C:\\log\\aa.txt");//打开文件
……
}catch(Exception e){e.printStackTrace();System.out.println("error");}
rhj_2001 2002-01-30
  • 打赏
  • 举报
回复
File f = new File("C:\\log\\aa.txt");
f.mkdirs();
前一种情况只是创建文件
后一种情况在创建文件前,还必须创建目录,所以要加上file.mkdirs();。
remote_roamer 2002-01-30
  • 打赏
  • 举报
回复
给你个小方法函数
public static java.io.File setFolder(String fullpath) throws Exception
{
String m_st_temp ="";
java.io.File file_target = null;
String [] split = StringUtils.split(fullpath, "/");
for (int i =0 ; i < split.length ; i++ )
{
m_st_temp += split[i]+"/";
if (new java.io.File(m_st_temp).isDirectory())
{
continue ;
}
else
{
if ( !new java.io.File(m_st_temp).mkdir())
{
throw new Exception ("Can not creater the folder "+m_st_temp);
};
};

}
file_target = new java.io.File(fullpath);
return file_target ;

}

调用的时候先调用setFolder("全路径");该方法会自动建立目录.
可能要修改一下,因为只考虑分割符是"\"的路径
qq_pride 2002-01-30
  • 打赏
  • 举报
回复
多谢各位!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧