我正在研究一个sc2replay解析工具.我在MPQLIB

http://code.google.com/p/mpqlib/之上构建它

不幸的是,该工具使用文件通道来读取bzip文件,

并使用map(MapMode.READ_ONLY,hashtablePosition,hashTableSize);

调用该函数后关闭文件通道不会在该过程中释放该文件.

具体来说,我无法重命名/移动文件.

问题出现在Java 7中,它在Java 6上运行良好.

这是一个复制它的简单代码片段:

FileInputStream f = new FileInputStream("test.SC2Replay");

FileChannel fc = f.getChannel();

fc.map(MapMode.READ_ONLY, 0,1);

fc.close();

new File("test.SC2Replay").renameTo(new File("test1.SC2Replay"));

注释掉fc.map将允许您重命名该文件.

它声明您不需要关闭文件通道和文件流,因为关闭一个将关闭另一个.我也试过关闭其中一个或两个,但仍然没有奏效.

在Java 7上使用FileChannel.map读取数据后是否有重命名文件的解决方法,因为现在每个人似乎都有Java 7?

java关闭通道_调用map方法后,Java 7文件通道未正确关闭相关推荐

  1. java 中append()_调用append()方法在Java中构造一个StringBuffer对象

    StringBufferappend()方法将特定参数的String表示形式附加到序列中.它是java.lang.StringBuffer类的方法.此方法返回对该对象的引用. 该方法更改方法中调用的对 ...

  2. java调用一个方法后怎么继续执行不等待该方法的返回_Java面试题大全2020版(二)...

    今天给大家推送第二部分,主要的大块内容分为:多线程.反射.对象拷贝.三大块内容中涉及到的考点如下: 三.多线程 35. 并行和并发有什么区别? 并行是指两个或者多个事件在同一时刻发生:而并发是指两个或 ...

  3. Java 多线程启动为什么调用 start() 方法而不是 run() 方法?

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:终于放弃了单调的swagger-ui了,选择了这款神器-knife4j个人原创100W+访问量博客:点击前往,查 ...

  4. java高级用法之:调用本地方法的利器JNA

    文章目录 简介 JNA初探 JNA加载native lib的流程 本地方法中的结构体参数 总结 简介 JAVA是可以调用本地方法的,官方提供的调用方式叫做JNI,全称叫做java native int ...

  5. java:PropertyDescriptor+反射调用setter方法

    java:PropertyDescriptor+反射调用setter方法 1 前言 PropertyDescriptor文档如下: https://docs.oracle.com/javase/7/d ...

  6. JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()异常的解决办法

    JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()异常的解决办法 参考文章: (1)JNI调用native方法出现 ...

  7. java 日志乱码_【开发者成长】JAVA 线上故障排查完整套路!

    云栖号资讯:[点击查看更多行业资讯] 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 线上故障主要会包括 CPU.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以 ...

  8. java tps 优化_高tps下,java性能调优

    之前参与了系统调优,感觉挺有收获了,现在记录一下. 处理xml时,理清楚报文格式,避免使用jdom解析 我们在做压测的时候,发现有一个程序响应非常慢,使用jstack定位到慢的地方:解析xml报文.x ...

  9. java 递归 堆栈_尾递归函数仍在Java吹堆栈

    我试图实现一个尾部递归阶乘计算器,但我仍然得到一个堆栈溢出.有人能帮我找出原因吗?我读到Java 8支持尾调用优化,但我想我一定没有正确地实现它. 我读到过使用lambda表达式是可能的.我不能肯定我 ...

最新文章

  1. OpenCV2.4.13在VS2012环境的debug模式下的链接库输入配置的文件目录
  2. 【JUC并发编程04】线程间定制化通信(单标志法存在的问题)
  3. 【视频】vue生命周期函数
  4. 这是我最喜欢的使用React Native创建生产级应用程序的技巧
  5. JavaScript数组对象简介及其常用方法介绍
  6. 通过命令行编译器来编译运行程序
  7. OSI七层模型:TCP/IP HTTP WebSocket MQTT
  8. Java并发编程实战 - 笔记
  9. 官方版WIN10PE如何添加explorer?
  10. 我的世界MinecraftJava版开服教程(Linux)开服器开服包下载开服网站服务器开服核心开服端开服软件mac版Java启动器
  11. 2016年蓝桥杯B组C/C++省赛试题-漏网之渔
  12. android局域网打印机共享文件夹,如何设置电脑使安卓手机能访问局域网共享的文件...
  13. java动态多态性是通过什么实现的_11.java实现动态多态性是通过()实现的 答案:覆盖...
  14. android自定义滚动条(ScrollBar)样式
  15. 唐诗三百首加密软件如何使用_文档文件加密及设计图纸加密的防泄密软件怎么部署和使用...
  16. CRF++安装教程(含Windows和Linux两个版本)
  17. 解析信号与Matlab hilbert函数
  18. 树莓派基础实验18:声音传感器实验
  19. Bloom Filter(布隆过滤器)的概念和原理(转)
  20. typecpd协议规范 C语言,谁能详细介绍USB Type C各个P位的作用,如Vconn和Vbus和CC的具体作用...

热门文章

  1. 2021大二实训part02
  2. 用VBA编写的简易计算器
  3. eclipse配置tomcat,并部署一个Java web项目到tomcat上
  4. Debian 决定允许无记名投票,候选人Felix Lechner质疑
  5. 放弃 Python 2 之后,这家公司写了 50 万行的 Go 代码来迁移!
  6. 阿里云技术天团空降 CSDN 独家在线峰会,揭秘核心竞争力
  7. 您的包裹“ MySQL灵魂十连” 待签收
  8. iPhone 12再陷“信号门”:用户称每天需多次重启恢复;蚂蚁集团打新资金退款如期到账;Mutt 2.0 发布|极客头条
  9. 关于自然语言处理,数据科学家需要了解的 7 项技术
  10. 复制粘贴发明人、Java 和互联网创建者相继去世,向初代互联网大佬致敬!