Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java的句柄_java获取窗口句柄

java的句柄_java获取窗口句柄

作者头像
全栈程序员站长
发布于 2022-11-02 09:05:53
发布于 2022-11-02 09:05:53
2.6K0
举报

Java代码书写过程,文件资源的释放需要特别谨慎的对待.通常文件资源使用后必须close,然后再删除。

如果先删除但没有close掉,会造成文件句柄未被释放.

这会造成实际使用磁盘空间较大,成为瓶颈

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

public class FileTest {

public static void main(String[] args) {

File file = new File(“/home/admin/a.txt”);

// File file = new File(“c://a.txt”);

FileOutputStream out = null;

try {

out = new FileOutputStream(file);

file.delete();

while(true){

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

if(out!=null) {

out.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

此时文件关闭了,但是out还持有文件,out未关闭则文件句柄未被释放。造成实际可使用空间小于可使用空间。

2.文件句柄的调试可用lsof 命令进行查看

lsof -s |grep java

lsof -s |grep deleted

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180674.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
java实现html转word_javaweb与html区别
前段时间在做html生成word功能,找了好几种方案,有的用jacob,但是这个比较麻烦,又是dll又是jar的,依赖太多了,而且代码量比较多,所有以采用了freemarker来生成word,制作一个模板就可以生成word文档了,生成的图片也不会依赖本地路径。此功能需要freemarker的jar包,这个大家可以自行下载 制作模板,打开word,制作报告的样式,然后另存为xml格式,最好是2003格式的xml,不然会出现不兼容的现象。完成之后修改为ftl格式的文件。下面就开始我们的编码。 //转化word的一个工具类: package com.HtmlToword.util;
全栈程序员站长
2022/11/07
1.2K0
如何正确释放文件句柄,Java中的FileInputStream关闭问题
在日常的编程开发中,我们经常需要读取文件并对其进行处理。在Java中,常用的文件读取类之一是FileInputStream。然而,使用FileInputStream时需要注意一个重要问题:及时关闭文件流。否则,可能导致文件句柄占用,进而影响文件的删除等操作。
高久峰
2024/04/11
1.4K0
新手小白学JAVA IO流 File 字节流 字符流
在学习IO流之前,我们首先需要学习的概念就是Stream流 为了方便理解,我们可以把数据的读写操作抽象成数据在”管道”中流动,但需注意: 1.流只能单方向流动 2.输入流用来读取 → in 3.输出流用来写出 → out 4.数据只能从头到尾顺序的读写一次 所以以程序的角度来思考,In/out 相对于程序而言的输入(读取)/输出(写出)的过程.
全栈程序员站长
2022/08/11
4060
新手小白学JAVA IO流 File 字节流 字符流
何为文件句柄??_窗口句柄是什么意思
在文件I/O中,要从一个文件读取数据,应用程序首先要调用操作系统函数并传送文件名,并选一个到该文件的路径来打开文件。该函数取回一个顺序号,即文件句柄(file handle),该文件句柄对于打开的文件是唯一的识别依据。要从文件中读取一块数据,应用程序需要调用函数ReadFile,并将文件句柄在内存中的地址和要拷贝的字节数传送给操作系统。当完成任务后,再通过调用系统函数来关闭该文件。
全栈程序员站长
2022/11/10
1.7K0
IO流为什么必须手动关闭,不能像其他的对象坐等GC回收?
有的同学在做一个读取临时文件数据的工作,当读完文件内容,准备将其删除的时候,有时候会正常,但有时候会提示:操作无法完成,因为文件已在 Java™ Platform SE binary 中打开,编译器也会提示:Resource leak: 'xxxx' is never closed。
Java极客技术
2023/09/14
1.2K0
IO流为什么必须手动关闭,不能像其他的对象坐等GC回收?
Java IO流
# Java IO流 # 文件 # 什么是文件 # 文件流 # 常用的文件操作 # 创建文件对象相关构造器和方法 代码演示: package com.file; import org.junit.jupiter.api.Test; import java.io.File; import java.io.IOException; //演示创建文件 public class FileCreate { public static void main(String[] args) {
用户9615083
2022/12/25
1.2K0
Java IO流
将文件字节输出流写入到文本中
1 package DEMO; 2 3 import java.io.File; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.io.OutputStream; 7 import java.util.Scanner; 8 9 /* 10 * 文件字节输出流 2014-7-29 11 * 1.给出输出流的目的地 12 * 2.创建指向目的地的输出流 13
Gxjun
2018/03/22
3.2K0
将文件字节输出流写入到文本中
Java 持久化操作之 --io流与序列化
1)File类操作文件的属性 1.File类的常用方法 1. 文件的绝对完整路径:getAbsolutePath() 文件名:getName() 文件相对路径:getPath() 文件的上一级目录:g
房上的猫
2018/04/10
1.1K0
Java 持久化操作之 --io流与序列化
Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream
Java IO流学习总结一:输入输出流 Java IO流学习总结二:File Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter Java IO流学习总结五:转换流-InputStreamReader、OutputStreamWriter Java IO流学习总结六:ByteArrayInputStream、ByteArrayOutputStream Java IO流学习总结七:Commons IO 2.5-FileUtils
全栈程序员站长
2022/11/01
9510
Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream
Java程序设计(高级及专题)- IO流与序列化
在使用字节输出流可以不刷新文件流,系统会自动刷新,而字符输出流不一样,如果不刷新再关闭的话,文件不会有任何操作的。
全栈程序员站长
2022/06/30
2680
Java程序设计(高级及专题)- IO流与序列化
java IO流详尽解析「建议收藏」
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类
全栈程序员站长
2022/08/31
7650
java IO流详尽解析「建议收藏」
java 文件转inputstream_把文本转换成表格
1.1我们必须将数据从InputStream手动复制到OutputStream 。
全栈程序员站长
2022/11/08
1.4K0
Java-IO流
哈喽!大家好,我是小简。今天开始学习《Java-IO流》,此系列是我做的一个 “Java 从 0 到 1 ” 实验,给自己一年左右时间,按照我自己总结的 Java-学习路线,从 0 开始学 Java 知识,并不定期更新所学笔记,期待一年后的蜕变吧!
小简
2023/01/04
7190
Java-IO流
Java入门(14)-- I/O(输入/输出)
在变量、数组和对象中存储的数据是暂时存在的,程序结束后它们就会丢失。想要永久地存储程序创建的数据,需要将其保存在磁盘文件中,这样就可以在其他程序中使用它们。Java中的I/O技术可以将数据保存到文本文件、二进制文件甚至是ZIP压缩文件中,以达到永久性保存数据的要求。
爱学习的程序媛
2022/04/07
7050
Java入门(14)-- I/O(输入/输出)
Java代码实体类生成SQL语句(Java实体类转数据库)
下载:https://download.csdn.net/download/weixin_44893902/20367422
全栈程序员站长
2022/08/23
4.2K1
Java代码实体类生成SQL语句(Java实体类转数据库)
java学习:文件读写
java中有好几种读写文件的方法,但是个人觉得最简单的还是FileInputStream、FileOutputStream类,示例代码: package jmyang.file; import java.io.*; public class FileTest { /* * 删除文件 */ public static boolean delete(String fileName){ boolean result = false;
菩提树下的杨过
2018/01/24
6560
[Java IO]02_字节流
该文章介绍了Java编程思想中的基础概念,包括面向对象、集合、流程控制、异常处理、输入输出流等。同时,也介绍了Java的集合框架,包括List、Set、Map、Queue等。此外,还介绍了Java的异常处理机制,包括异常的抛出和异常的捕获。最后,还介绍了Java的输入输出流,包括文件、Socket、Servlet等。
静默虚空
2018/01/05
5410
[Java IO]02_字节流
Java基础-20(01)总结,递归,IO流
1:递归(理解) (1)方法定义中调用方法本身的现象 举例:老和尚给小和尚讲故事,我们学编程 (2)递归的注意事项; A:要有出口,否则就是死递归 B:次数不能过多,否则内存溢出 C:构造方法不能递归使用 package cn.itcast_01; /* * 递归:方法定义中调用方法本身的现象 * * 方法的嵌套调用,这不是递归。 * Math.max(Math.max(a,b),c); * * public void show(int n) { * if(n <= 0) {
Java帮帮
2018/03/16
8050
项目差异class文件提取–>上线用
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154306.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/07
2940
Java转换流_java中的字符使用什么编码
字节流:针对二进制文件 字符流:针对文本文件,读写容易出现乱码的现象,在读写时,最好指定编码集为UTF-8
全栈程序员站长
2022/10/01
9070
Java转换流_java中的字符使用什么编码
相关推荐
java实现html转word_javaweb与html区别
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档