Nio的讀入與寫出
阿新 • • 發佈:2018-11-11
逐行讀入:
import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; public class NioReadFile { public static void main(String[] args) { String fileName = "D:\\CIME\\measure.CIME"; String charset = CommonsMethods.getFileCharset(fileName); System.out.println("charset=" + charset); //charset是編碼格式 try { List<String> lines = Files.readAllLines(Paths.get(fileName), Charset.forName(charset)); for (String line : lines) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } }
逐行輸出:
//將郵箱 姓名和最後生成的連結資料寫入csv檔案 private void writeCsv(String content, String fileName) throws IOException { File f = new File(defaultCsvpath); f.setWritable(true); if (!f.exists()) { //如果該路徑不存在,就建立該路徑 f.mkdir(); } String filePath = defaultCsvpath + "/" + fileName; //得到完整檔案路徑 FileOutputStream fos = null; FileChannel fc_out = null; try { fos = new FileOutputStream(filePath, true); fc_out = fos.getChannel(); ByteBuffer buf = ByteBuffer.wrap(content.getBytes()); buf.put(content.getBytes()); buf.flip(); fc_out.write(buf); } catch (IOException e) { e.printStackTrace(); } finally { if (null != fc_out) { fc_out.close(); } if (null != fos) { fos.close(); } } }
參考:http://xurichusheng.iteye.com/blog/2266842,https://blog.csdn.net/cynhafa/article/details/7410035
stream方式:
http://justcode.ikeepstudying.com/2017/05/java-java8%E6%B5%81%E9%80%90%E8%A1%8C%E8%AF%BB%E5%8F%96%E6%96%87%E4%BB%B6/