我有程序,读取用户的输入,然后写到文件。之后,该程序读取该文件,并做出一些基本的算术功能。结果显示在屏幕上的user.After,我想清除该文件,因为它将像缓存的程序,不需要永久存储。
这一切都很好,我可以清除文件,但我有这样一个奇怪的例外:
java.io.UnsupportedEncodingException和程序停止。
我的代码:该文件如下所示
2013 Jūnijs 1500.0 80 125 293.7 151.25 1055.05
2013 Jūlijs 1150.0 80 125 218.94 112.75 818.31
2013 Septembris 1550.0 80 125 304.38 156.75 1088.87 清除文件是通过以下代码完成的:
public static void Clear_file() throws IOException{
System.out.println("Notīram failu");
clear = new Formatter(new FileWriter(user_name()+".txt", true));
FileOutputStream erasor = new FileOutputStream(user_name()+".txt");
erasor.write((new String().getBytes("")));
erasor.close();
}我阅读了指南,并编写如下:,如果给定的字符集不在该列表中,则肯定会引发此错误.。
我很困惑,因为文件中只有字符串和双类型数据。
我怎样才能避免这个异常呢?
谢谢:)
发布于 2013-11-04 18:40:54
new String().getBytes("")
您没有为字符集提供名称,这就是抛出异常的原因。
尝试设置一个,您将看到它正确运行。
System.out.println(Arrays.toString(new String("test").getBytes("UTF-8")));产出:
116、101、115、116
发布于 2013-11-04 18:40:54
erasor.write((new String().getBytes("")));在这里,您要求空字符串对象获取一个字节数组,该数组编码为:""。(无姓名)。当然,没有名为""的字符编码。
若要清除该文件,请使用以下内容:
new FileOuputStream(file).close();https://stackoverflow.com/questions/19774692
复制相似问题