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