- 浏览: 51913 次
- 性别:
- 来自: 杭州
文章分类
最新评论
public static void main(String[] args){ FileOutputStream fos = null; InputStream inputStream = null; try { File file = new File("c:/test1.txt"); if (!file.exists()) { file.createNewFile(); // 构造写入文件内容 fos = new FileOutputStream(file); fos.write("Hello Wolrd".getBytes()); } //此时输入流在使用,删除文件会失败 inputStream = new FileInputStream(file); file.delete(); } catch (Exception e) { e.printStackTrace(); }finally{ if(fos != null){ try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } if(inputStream != null){ try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } }
file.delete();会删除文件失败,因为前面的InputStream使用到file,而且InputStream没有关闭流;正确的方法是
public static void main(String[] args){ FileOutputStream fos = null; InputStream inputStream = null; File file = null; try { file = new File("c:/test1.txt"); if (!file.exists()) { file.createNewFile(); // 构造写入文件内容 fos = new FileOutputStream(file); fos.write("Hello Wolrd".getBytes()); } //此时输入流在使用,删除文件会失败 inputStream = new FileInputStream(file); file.delete(); } catch (Exception e) { e.printStackTrace(); }finally{ if(fos != null){ try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } if(inputStream != null){ try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } if(file != null){ file.delete(); } } }
发表评论
-
fastjson空值不处理
2017-09-21 15:21 0fastjson在处理对象转化为json串的时候,对于字段值为 ... -
java位运算
2017-09-19 10:05 491java位运算符 位运算符主要针对二进制,针对的是两个二 ... -
java final作用
2017-09-14 09:12 400final关键字的作用 1、被final修饰的类不可以被继承 ... -
System.getProperty使用
2017-07-23 15:27 819java的System.getProperty()方 ... -
Java如何获取当前的jar包路径
2017-07-23 12:28 2561最近在写一个可运行的jar包,需要从导出后跟jar同级目录读取 ... -
java并发编程中分配线程池数跟CPU密集型任务和I/O密集型任务有关
2017-05-25 20:03 1066CPU密集型任务:应用主要是使用非常多的cup资源,进行无阻塞 ... -
循环遍历集合过程中往集合添加或是删除元素报java.util.ConcurrentModificationException
2017-05-15 19:16 0java.util.ConcurrentModificatio ... -
图片压缩场景选择
2017-04-18 19:00 3791、平台上传图片,但是图片大小不确定(不会超过50M),后台处 ... -
PropertyUtils复制属性报错
2017-05-02 19:46 545java.lang.IllegalArgumentExcept ... -
ThreadLocal实现共享对象
2017-04-16 19:56 446当考虑到每个线程共享多个变量时,需要定义多个ThreadLoc ... -
通过jdk自带的反编译工具命令 javap
2017-04-10 09:39 0通过jdk自带的反编译工具命令 javap 可以查看class ... -
属性命名不遵守javaBean规范导致版本升级后获取不到值
2017-04-01 17:03 446如下所示: struts2 Action中存在如下定义的i ... -
bat批处理命令运行jar包中的main方法
2017-04-01 11:08 1491一、Eclipse导出可运行的 ... -
项目中jdk高版本编译后的代码在低版本的jdk运行报错
2017-03-23 16:10 977项目中jdk高版本编译后的代码运行在低版本的jdk的tomca ... -
java 获取同一个网关下不同客户端的ip失败
2017-03-31 20:11 650java 获取同一个网关下不同客户端的ip,得到的客户端的ip ... -
程序中解析域名报错
2017-03-16 09:00 695项目中通过webservice接口往第三方传送数据,本地配置是 ... -
服务器推送技术简单介绍
2017-03-12 19:01 0传统模式的 Web 系统以 ... -
java中调用语音库
2016-12-25 18:30 654java中调用语音库参考http://blog.csdn.ne ... -
非技术
2015-07-24 15:52 0近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分 ...
相关推荐
但当文件被其他进程占用时,`delete()`方法会返回`false`,表示删除失败。为了解决这个问题,我们可以采用以下策略: 1. **利用JDBC释放资源**:如果文件是数据库(如MDB),我们可以尝试通过JDBC建立数据库连接,...
1. **资源清理不当**:当TCP连接关闭时,QTcpSocket应该被正确关闭(调用`close()`函数)并删除(`delete`操作)。如果未正确清理,可能会导致资源泄漏,进而影响其他操作,甚至引发段错误。 2. **异步事件处理**:...
4. **关闭流**:调用`Close()`方法关闭文件流。 5. **删除文件**:最后使用`File.Delete()`方法删除文件。 这种方式可以在一定程度上解决文件被占用的问题,但需要注意的是,覆盖文件内容可能会带来数据丢失的风险...
在实际应用中,需要注意的是,自我删除可能导致数据丢失或用户无法恢复,因此通常在确保所有必要操作完成并且用户知情的情况下才使用。同时,对于商业软件,自我删除也应当提供相应的卸载记录或日志,以满足软件管理...
- 调用`Close`方法关闭文件查找对象。 - 尝试删除目标目录本身。 5. **返回结果**: - 如果`RemoveDirectory`调用失败,则返回`FALSE`;否则返回`TRUE`。 #### 四、辅助函数解析 另一个辅助函数`DelAll`用于...
- 需要注意的是,这种方式可能会导致程序突然关闭,对用户体验造成一定影响。 总结来说,通过上述步骤和代码示例,我们可以实现程序自我删除的功能。这种方法在特定场景下非常有用,但同时也需要注意其潜在的风险...
- 调用`Close()`方法关闭数据库连接。 #### 注意事项 1. **安全性**:直接拼接用户输入的值到SQL语句中可能会导致SQL注入攻击。应使用参数化查询来避免此类安全问题。 ```csharp string sqlDelete = "DELETE ...
如果需要,可以使用`Delete Bucket`、`Delete Bucket Logging`和`Delete Bucket Website`关闭或删除相关功能。 对于Object的操作,OSS提供了丰富的API,包括上传、下载、删除、列举Bucket中的Objects等。这些操作...
在Windows操作系统中,有时我们需要删除一个正在被程序使用的文件,但是由于系统保护机制,通常无法直接执行删除操作,因为文件可能被其他进程占用。在VC++(Visual C++)环境中,我们可以编写源代码来实现强制删除...
为了解决这个问题,"Kernel-Force-Delete" 提供了一种强大的解决方案,它允许用户强制删除那些常规方法无法处理的文件。本文将深入探讨这一技术,并结合C++编程语言,阐述如何实现内核级强制删除功能。 首先,理解...
调用`delete()`方法即可删除文件,但要注意文件是否被其他进程占用,这可能导致删除失败。为了安全起见,可以先检查文件是否存在,再进行删除操作。 除了基本的文件操作,还有其他相关的知识点: 1. **文件读写**...
删除文件相对简单,只需要调用Java的`File`类提供的`delete()`方法。但有时可能会遇到删除失败的情况,这可能是由于文件正在被其他进程使用或者权限不足导致的。为了解决这些问题,你可以尝试先关闭文件句柄,或者以...
这里的关键在于,当使用Thread.Abort()方法时,它会引发一个未处理的异常,从而导致线程终止执行。然而,需要注意的是,Thread.Abort()已经不推荐使用,并且从.NET Framework 4.0开始,已经不支持此方法。尽管如此,...
删除文件夹时需要注意,如果文件夹内还有其他文件或子文件夹,直接使用`delete()`方法将无法删除。需要先递归地删除内部所有内容后才能删除该文件夹。 ```java public static void delete(String dir) { File fi =...
这个脚本首先会提示用户输入要删除的文件扩展名,然后调用`reg delete`命令来删除对应的注册表项。`/f`参数表示强制删除,即使该键有子项也一并删除。删除后,脚本会显示一条消息告知用户操作已完成,并暂停执行,让...
删除文件是通过`File`类的`delete()`方法实现的。该方法会删除指定路径的文件或目录,如果文件被其他进程占用,则可能无法成功删除。可以使用`deleteOnExit()`方法在程序退出时自动删除文件。 4. **新建文件**: ...
- 当数据加载完成,调用SwipeRefreshLayout的`setRefreshing(false)`方法,关闭刷新指示器。 2. **侧滑删除(Swipe-to-Delete)**: 侧滑删除功能允许用户通过在ListView的每一项上向左或向右滑动来触发删除操作。这...
然后,调用Recordset的Delete方法即可删除当前记录。 6. 修改操作:更新现有记录涉及定位到要修改的记录,通过调用GetFields方法获取Field对象,修改Field对象的Value属性,最后调用Update方法保存更改。 7. 封装...
5. 删除文件:如果文件存在,使用delete()方法删除,`if(fs.exists(dstPath)){ fs.delete(dstPath, true) ; }`,其中第二个参数表示是否递归删除子目录。 6. 流操作: - 写入:使用FSDataOutputStream创建一个输出...
在读取结束后,为了释放系统资源,应该关闭文件,这是通过调用`close()`方法实现的。在Python中,还可以使用上下文管理器(with语句)自动管理文件的打开和关闭,确保文件被正确关闭。 最后,我们讨论一下文件的...