Lab5 中須要進行大文件讀寫,如下是NIO方法的總結:java
讀取文件:數組
import java.nio.file.Files;字符串
import java.nio.file.Paths;get
利用Files.readAllBytes(Paths.get(filePath))獲取filePath路徑裏面的文件的全部的內容,該方法返回一個字節數組,再調用new String()方法建立一個字符串。input
public String input(String filePath) {
String p=new String();
try {
p = new String(Files.readAllBytes(Paths.get(filePath)));
} catch (IOException e) {
e.printStackTrace();
}
return p; //返回文件內容到一個字符串中it
String[] ss = s.split("\n|\r"); //利用.split()方法分隔行
}io
寫回文件:import
1.java.io.FileWriterfile
使用FileWriter類的write方法,將相應的字符串寫回到路徑當中:nio
public void output(String filename,String str) {
FileWriter fw;
try {
fw = new FileWriter(filename);
fw.write(str, 0, str.length());
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
2.FileOutputStream
使用FileOutputStream類的write方法:
public void output(String filename, String str) {
FileOutputStream fos;
try {
fos = new FileOutputStream(filename);
fos.write(str.getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
3.BufferedOutputStream
使用BufferedOutputStream類的write方法:
public void output(String filename, String str) { BufferedOutputStream buff; try { buff = new BufferedOutputStream(new FileOutputStream(filename)); buff.write(str.getBytes()); buff.flush(); buff.close(); } catch (IOException e) { e.printStackTrace(); } }