java new 数组失败?

java File delete()执行失败原因(转) - 沧海一滴 - 推酷
java File delete()执行失败原因(转) - 沧海一滴
java.io.File里的delete操作很实用也很常用,可以用来删除单独的文件和某一目录。但有时候会出现delete失败的情况,出现这种情况的原因一般有以下几种:
1、删除时还有其他程序在使用该文件,此时将无法正确删除
2、没有close关闭和该文件相关的所有输入输出流等,导致无法删除(这一点是最容易忘记的,你犯的可能就是这一条)
3、当删除某一目录时,必须保证该目录下没有其他文件才能正确删除,否则将删除失败。这里可以采用listFiles对目录下的文件或者目录进行处理。
下面给出一个具体的例子:
File f = new File(path);
DataOutputStream dos = new DataOutputStream(new FileOutputStream(f));
if (f.exists()) {
System.out.println(f.getAbsoluteFile());
if (!f.delete()) {
System.out.println(&请关闭使用该文件的所有进程或者流!!&);
System.out.println(f.getName()+& 成功被删除!&);
此时f是无法delete的,即f.delete()将返回false,原因就在于没有关闭dos.所以需要在if之前加入一句f.close(),这样就可以删除成功了。
File f = new File(path);
DataOutputStream dos = new DataOutputStream(new FileOutputStream(f));
dos.close();
if (f.exists()) {
System.out.println(f.getAbsoluteFile());
if (!f.delete()) {
System.out.println(&请关闭使用该文件的所有进程或者流!!&);
System.out.println(f.getName()+& 成功被删除!&);
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致4138人阅读
JAVA学习(15)
抱怨java的new浪费了太多的内存,应该大量的使用static
前半句在某些情况下正确,后半句绝对错误。
说这话的是完全不懂对象,完全没有基础知识,但是这些人还在从事Java/.NET等软件开发,相当于外行人冒充内行,可见当前中国软件业水平多么低下。
为什么说这些程序员完全不懂呢?
因为他们只知道对象两个表面含义,却不懂对象背后的含义,对象重要特征是什么?对象重要的特征就是有生命的,有scope的,有生命周期的,这其实是一个很朴素的哲学思想,没有永垂不朽的东西,任何物体都是有生命的。
既然,对象有生命,那就当然有生有死,在java中,对象什么时候死已经无需我们操心,因为有垃圾回收机制,我们程序员只要决定对象什么时候生就可以,也就是对象什么时候创建,以何种方式创建。
对象可以new方式创建,也可以使用创建模式创建,方式很多,Ioc模式的诞生,特别是自动配对auto wiring的Ioc诞生,让对象的创建也无需我们来编码了,这更大大解决程序员的软件开发生产力,这也就是Jdon On Rails为什么快速的原因之一。
回到对象的生命周期上来,使用静态实际就是变态的延长对象的生命周期,虽然也解放了程序员,无需程序员照顾对象创建,但是这是一种错误的解放,是一种虽然简单,但是方向完全错误,可能导致更大性能陷阱的解决方式,这个我已经在单例是邪恶等帖子中反复表述,因为我们现在的软件是一个多线程环境,如果你使用静态,不但导致非系统,到处是长命百岁的对象,系统难于维护;更重要不小心就导致多线程变成单线程系统,也就是单用户系统,某个时刻只能一个用户操作这个系统。换句话说:就是系统缓慢,人操作一多就死机。
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:104794次
积分:1134
积分:1134
排名:千里之外
原创:20篇
译文:12篇
评论:16条
(3)(15)(7)(3)(6)(2)16:46 提问
Java中Data mydata = new Data();哪儿出错了
Data mydata = new Data();哪儿出问题了,编译会出现两个错误,说是找不到符号
按赞数排序
是Date,不是data
楼上说的对Date ! 日期吧
Data类定义了吗?
java.util的方法
Date没有定义的话,当然会出错了。
也有可能你说的是Date类,打错字了。
我也觉得是可能导错包了
没写错的话 注意引入包
一个是util.Date
一个是sql.Date
我也是最了,醉了,醉了最了
有两种情况:
1.Data类没有定义的话就要先定义,具体是创建一个class Data{属性。。。方法。。。}(都是专属于Data的属性和方法)然后你在创建实例就不会出错吧
2.你输入有误,将Date打为Data。。。。。这种情况就直接导入一个包java.util.Date
其他相似问题}

我要回帖

更多关于 java new 数组 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信