File f = new File("");
之前很多的操作都需要創建File 對象 完成 相關的io操作 比較麻煩。
jdk 1.4後 提供了新的nio 有了一個新的類Files 簡化了我們之前的io操作 還是比較方便的。
package com.fpy.nio;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.nio.charset.Charset;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.List;
/**
* Files工具類
*/
public class FilesTest {
public static void main(String[] args) throws Exception {
//創建多級目錄
Files.createDirectories(Paths.get("F:\\study\\jdbc\\"));
//創建目錄
Files.createDirectory(Paths.get("F:\\aa"));
//添加前綴,後綴創建臨時文件或臨時目錄
Path newPath = Files.createTempFile(prefix, suffix, attrs);
Path newPaths = Files.createTempDirectory(dir, prefix, attrs);
/* long s = System.currentTimeMillis();
//實現文件複製
Files.copy(Paths.get("F:\\GIT.zip"), new FileOutputStream("f:\\a.zip"));
long e = System.currentTimeMillis();
System.out.println(e - s);//測試時間*/
//一次性讀取文件所有的行
List<String> lines = Files.readAllLines(Paths.get("F:\\study\\jdbc\\代碼\\jdbcDemo\\src\\com\\bjsxt\\PreparedStatementDemo.java"));
for (String line : lines) {
System.out.println(line);
}
//向指定文件寫出內容
List<String> content = new ArrayList<>();
content.add("春眠不覺曉");
content.add("處處聞啼鳥");
/**
* StandardOpenOption 是OpenOption的一個實現類
* StandardOpenOption.APPEND 追加
* READ 以讀取方式打開文件
* WRITE 已寫入方式打開文件
* CREATE 如果文件不存在,創建
* CREATE_NEW 如果文件不存在,創建;若存在,異常。
* APPEND 在文件的尾部追加
* DELETE_ON_CLOSE 當流關閉的時候刪除文件
* TRUNCATE_EXISTING 把文件設置爲0字節
* SPARSE 文件不夠時創建新的文件
* SYNC 同步文件的內容和元數據信息隨着底層存儲設備
* DSYNC同步文件的內容隨着底層存儲設備
*/
Files.write(Paths.get("F:\\PreparedStatementDemo.java"), content, StandardOpenOption.APPEND);
System.out.println("<================================>");
//java8新特性 列出當前目錄下的文件或者文件夾 lambda 寫的不順手
Files.list(Paths.get("F:\\study")).forEach(
a -> System.out.println(a)
);
//java8 列出文件內容
Files.lines(Paths.get("F:\\PreparedStatementDemo.java")).forEach(aa -> System.out.println(aa));
}
}