Day26:救世主

在资料输入输出原本Java提供了java.io套件来给开发者使用,不过都是面对Byte[]的操作,在实际开发中不是那麽有效率,很可能要自己写一些方法把资料的操作变得更有效率。

到了Java 1.4後,官方推出了新的资料输入输出套件:java.nio,提供了Buffer类别的操作,让我们可以透过Buffer类别的操作更有效率做到输入输出的逻辑。

简单说,就是java.io我们要面对最原始的Byte[],而java.nio我们可以透过Buffer类别提供的方法来操作资料,但在Buffer与资料来源之间多了一层Channel:
IOVsNIO

而除了资料的输入输出外,Java 1.7也推出了NIO2,替档案路径的操作提供了更便捷的套件,最具代表性的就是Path了。

Path download = Paths.get("C:\\Users\\Downloads");
Path download2 = Paths.get("C:\\Users", "Downloads");

Path path = Paths.get("C:\\Users\\Picture\\..\\Downloads");
Path path2 = Paths.get(".\\Downloads");
path.toRealPath().equals(path2.toAbsolutePath());

上述范例大概表现了一下NIO2的方便性,我们可以利用不定长度引数放入路径的片段,Java会帮我们组成一个完整的Path物件;相对路径可以透过toAbsolutePath()转换为绝对路径,或者我们在路径中间有透过符号串联,只要呼叫toRealPath,也可以转换为最直接的绝对路径回来,并且都帮我们实作好equals的比较了。


<<:  【第二十五天 - XSS Lab(2)-3】

>>:  【Day24】I2C Master 的实现及验证(最终章)

【Day 5_ Arm Mali GPU家族究竟是何方神圣_下篇】

延续上篇还没介绍完的Arm Mali GPU系列解决方案,今天要来接着介绍Mali-G510 GPU...

D11. 学习基础C、C++语言

D11: 关於EOF 这是一个在C语言里面才有的语法,EOF的意思就是End Of File,是AS...

Day26 React-实作todoList(一)前置

来做个todoList来验收这近一个月的React学习成效吧! 在制作之前,我先用Html设计想要的...

【Day25】:从struct进化成class的物件导向技巧(上)

本篇与STM32相关性不大 会有这个章节其实是有原因的...有一天我请学长帮我看一下程序的时候,请我...

第二十八天:文字排版

金鱼都能懂的网页切版:22、23、24、25 文字排版 在文字排版里,html版面基本是一模一样,只...