A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘永建 中级黑马   /  2013-4-15 14:13  /  1308 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘永建 于 2013-4-16 12:37 编辑

我想用File类同时创建文件夹和文件,比如说是c:/a/b/java.txt,这两个步骤是不是不能同时进行啊?
请大神指教一下。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

2 个回复

倒序浏览
除非你自己重写一个函数。要不这2个步骤是不能同时进行的。
大概思想讲一下:
用分隔符把每个文件或文件夹分开,用数组(这个随便你)保存,然后进行判断。
如果是文件,就创建文件;
如果是文件夹,就创建文件夹。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
创建文件路径有两种方法,
第一种, mkdir() 创建此抽象路径名指定的目录。 例如File f=new File("abc"); f.mkdir();如果创建成功则返回true,失败则返回false。但这种只能创建一级目录。
第二种,mkdirs()创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。例如File f=new File("abc\\adf\\adf\fdsa"); f.mkdirs(); 其目录都不存在,调用方法后创建所以不存在的目录。
像题目这种情况,会抛出IOException,系统找不到指定的路径。可以先创建路径再创建文件,示例代码
File f=new File("c:\\a\\b");
f.mkdirs();
File f2=new File(f,"java.txt");
f2.createNewFile()

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马