NIO其实就是新IO的意思。
JDK4出现NIO。新IO和传统的IO有相同的目的,都是用于进行输入输出的,但新IO使用了不同的方式来处理输入输出,采用内存映射文件的方式,将文件或者文件的一段区域映射到内存中,就可以像访问内存一样的来访问文件了,这种方式效率比旧IO要高很多,但是目前好多地方我们看到的还是旧IO的引用,所以我们仍以旧IO为主,知道NIO即可。
package cn.itcast_09;
import java.io.IOException;
import java.util.ArrayList;
/*
* nio包在JDK4出现,提高了IO流操作效率。但是目前还不是大范围的使用。
* 可以了解。
*
* JDK7之后的nio:
* Path:路径。
* Paths:有一个静态方法返回一个路径。
* public static Path get(URL uri)
* Files:提供了静态方法供我们使用。
* public static long copy(Path source,OutputStream out):复制文件
* public static Path write(Path path,Iterable<? extends CharSequence> lines,Charset cs,OpenObtion... options):把集合的数据写到文件
*/
public class NIODemo {
public static void main(String[] args) throws IOException {
// Files.copy(Paths.get("ByteArrayStreamDemo.java"), "Copy.java");
ArrayList<String> array = new ArrayList<String>();
array.add("hello");
array.add("world");
array.add("java");
//把array内容写到array.txt文件中,编码格式是GBK
Files.write(Paths.get("array.txt"), array, Charset.forName("GBK"));
}
}