java创建文件出错 50

publicstaticvoidmain(String...args){try{StringtarFile="‪‪d:\\tar1File.xls... public static void main(String... args){
try {
String tarFile = "‪‪d:\\tar1File.xlsx";
File file = new File(tarFile);
file.createNewFile();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

try {
File file = new File("d:\\tar2File.xlsx");
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

代码如上。第二个文件创建成功,第一个会报错,什么原因?
展开
 我来答
雷朋的贴膜
2017-07-05 · TA获得超过504个赞
知道答主
回答量:33
采纳率:0%
帮助的人:10.6万
展开全部
首先 File 类是对文件系统的映射 并不是硬盘上真实的文件
所以 new File("xxx.xxx") 只是在内存中创建File文件映射对象,而并不会在硬盘中创建文件

如果需要创建文件需要以下操作:
判断映射的文件是否真实存在 file.exists() //true存在 false不存在
如果存在即可直接操作, 否则需要调用 file.createNewFile() 创建真实文件
但是以上方式只会适用创建文件本身,不包括父文件的创建(如果父文件不存在)
所以一般需要对父文件存在与否作判断
File parent = file.getParentFile() // 获取父文件
if( !parent.exists() ) parent.mkdirs(); //创建所有父文件夹
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式