首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.io.UnsupportedEncodingException

java.io.UnsupportedEncodingException
EN

Stack Overflow用户
提问于 2013-11-04 18:38:29
回答 2查看 2K关注 0票数 1

我有程序,读取用户的输入,然后写到文件。之后,该程序读取该文件,并做出一些基本的算术功能。结果显示在屏幕上的user.After,我想清除该文件,因为它将像缓存的程序,不需要永久存储。

这一切都很好,我可以清除文件,但我有这样一个奇怪的例外:

java.io.UnsupportedEncodingException和程序停止。

我的代码:该文件如下所示

代码语言:javascript
复制
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   

清除文件是通过以下代码完成的:

代码语言:javascript
复制
 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();             
             }

我阅读了指南,并编写如下:,如果给定的字符集不在该列表中,则肯定会引发此错误.

我很困惑,因为文件中只有字符串和双类型数据。

我怎样才能避免这个异常呢?

谢谢:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-04 18:40:54

new String().getBytes("")

您没有为字符集提供名称,这就是抛出异常的原因。

尝试设置一个,您将看到它正确运行。

代码语言:javascript
复制
System.out.println(Arrays.toString(new String("test").getBytes("UTF-8")));

产出:

116、101、115、116

票数 2
EN

Stack Overflow用户

发布于 2013-11-04 18:40:54

代码语言:javascript
复制
erasor.write((new String().getBytes("")));

在这里,您要求空字符串对象获取一个字节数组,该数组编码为:""。(无姓名)。当然,没有名为""的字符编码。

若要清除该文件,请使用以下内容:

代码语言:javascript
复制
new FileOuputStream(file).close();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19774692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档