JavaNIO-文件锁与文件的编码解码
2021/12/30 1:07:06
本文主要是介绍JavaNIO-文件锁与文件的编码解码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
public class NIODemo { //TODO 文件锁定时数据需提前备份 public static void main(String[] args) throws Exception { File file = new File("F:"+ File.separator+"vm_realpath"+File.separator+"vm.log"); FileOutputStream outputStream = new FileOutputStream(file); FileChannel channel = outputStream.getChannel();//获取文件输入的Channel FileLock fileLock = channel.tryLock();//尝试获取文件锁 if(fileLock != null){//已经获取了文件锁 System.out.println("已经获取了文件锁,当前文件被锁定"); TimeUnit.SECONDS.sleep(10);//锁10秒 fileLock.release();//解锁 } channel.close(); outputStream.close(); } }
字符集
public class NIODemo { public static void main(String[] args) throws Exception { SortedMap<String,Charset> map = Charset.availableCharsets() ; for(Map.Entry<String,Charset> entry:map.entrySet()){ //查看支持的编码 System.out.println(entry.getKey() + "-"+entry.getValue()); } } }
编码与解码
public class NIODemo { public static void main(String[] args) throws Exception { Charset charset = Charset.forName("UTF-8") ;//创建一个“UTF-s"的编码器 CharsetEncoder encoder= charset.newEncoder() ; //获取编码器 CharsetDecoder decoder= charset.newDecoder() ; //获取解码器 CharBuffer buffer = CharBuffer.allocate(20);//分配空间数据 buffer.put("万邦皆下品,惟有读书高"); buffer.flip();//重置缓冲区 ByteBuffer encodeBuffer = encoder.encode(buffer) ;//对缓冲区中的数据进行编码 System.out.println(decoder.decode(encodeBuffer)); } }
这篇关于JavaNIO-文件锁与文件的编码解码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)