package test;
import java.io.FileWriter;
import java.math.BigDecimal;
import java.nio.channels.NonReadableChannelException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
public class Main {
private static final String space_operator = " ";
private static final double pi = Math.PI;
private static final String LINE_SEPARATOR = System.getProperty("line.separator");
public static void main(String[] args) throws Exception {
/*
* 當我們在new對象的時候加入true我們就可以進行續寫
* 意思就是這樣你原來已經在這個文件中寫入了東西
* 我們寫的時候寫在原來文字的后面
*/
FileWriter fw = new FileWriter("demo.txt",true);
/*
* 把數據寫到緩沖區中這個時候文件中還沒有這句話
*/
//直接拿到信息寫入
//fw.write("知之為知之" + LINE_SEPARATOR + "不知為不知");
fw.write("kuhopu");
/*
* 我們將文件寫道目的地
* 調用flush就能達到這個目的
*/
fw.flush();
/*
* 我們在寫完數據的時候可以關閉
* 當關閉了之后就不能在調用write方法進行寫
* 調用close的時候會在自動調用flush
*/
fw.close();
/*
* 當我們繼續調用write方法的時候會出現錯誤
* Stream closed
*/
//fw.write("kaixin");
}
}
安全的FileWrite用法
package test;
import java.io.FileWriter;
import java.math.BigDecimal;
import java.nio.channels.NonReadableChannelException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
public class Main {
private static final String space_operator = " ";
private static final double pi = Math.PI;
private static final String LINE_SEPARATOR = System.getProperty("line.separator");
public static void main(String[] args) throws Exception {
/*
* 我們定義在外面的時候在try catch里面都能用
* 否則用不了
*/
FileWriter fw = null;
try {
/*
如果我們在這個地方選在在一個電腦上沒有盤的地方創建
我們會發現異常就是找不到文件
並且我們會發現下面的關閉也會拋出空指針異常
所以我們在關閉的時候要記住一件事就是判斷它是否為空
*
*/
fw = new FileWriter("demo.txt", true);
fw.write("知之為知之" + LINE_SEPARATOR + "不知為不知");
} catch (Exception e) {
System.out.println(e.toString());
}
finally {
if(fw != null)
try {
fw.close();
} catch (Exception e2) {
throw new RuntimeException("關閉失敗");
}
}
}
}