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("关闭失败"); } } } }