HIT2019春軟件構造->大文件讀寫方法NIO

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();   } }

相關文章
相關標籤/搜索