NIO的介紹和JDK7下NIO的一個案例

King問發表於2020-09-25
package cn.itcast_01;

import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;

/*
 * JDK4出現了NIO.新的IO和傳統IO有相同的目的,都是用於進行輸入輸出的,
 * 但是新IO使用了不同的方式來處理輸入輸出,採用記憶體對映到檔案的方式,
 * 將檔案或者檔案的一段區域對映到記憶體中,就可以訪問記憶體一樣的來訪問檔案,
 * 這種方式效率比舊IO要高很多,但是目前好多地方我們看到的還是舊IO的使用
 * 所以我們仍然以舊IO為主,知道NIO即可 
 * NIO要了解的類
 * Buffer(緩衝)
 * Channer(通道)
 * 
 *  JDK7之後的NIO
 *  Path:路徑
 *  Paths:有一個靜態方法返回路徑
 *       Public static Path get(URI uri)
 * Files:提供了靜態方法供我們使用
 *        Public static long copy(Path source,OutputStream out)
 *        Public static Path write(Path path,Iterable<? extends>lines,Charset cs, 
 * OpenOption...options)
 *       
 */
public class NIO的介紹和JDK7下NIO的一個案例 {

	public static void main(String[] args) throws IOException, IOException {
		
		// Public static long copy(Path source,OutputStream out)
		//複製文字檔案
//		Files.copy(Paths.get("count.txt"),
//				new FileOutputStream("a.txt"));
		
         
		ArrayList<String> array = new ArrayList<String>();
		array.add("hello");
		array.add("java");
		array.add("world");
		Files.write(Paths.get("count.txt"),array, Charset.forName("GDK"));
	}
}

相關文章