Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
I';我使用一个程序来分析我的Java代码,而我不';I don’我不理解这个错误,也不知道如何修复它_Java_Encoding - Fatal编程技术网

I';我使用一个程序来分析我的Java代码,而我不';I don’我不理解这个错误,也不知道如何修复它

I';我使用一个程序来分析我的Java代码,而我不';I don’我不理解这个错误,也不知道如何修复它,java,encoding,Java,Encoding,我使用的是马里兰大学的FindBug程序,它给了我这个错误 我已经在许多平台上测试了我的代码,它可以工作,那么为什么这段代码是不好的做法,我可以做些什么来改进它呢 它告诉您没有指定编码(字符串如何转换为字节) 如果你在土耳其写一个文本文件,然后在乌兹别克斯坦加载,那么你可能会得到不同的结果。相反(例如),您可以通过自己使用指定的编码将字符串转换为字节来直接指定编码(例如,请参见)。它告诉您没有指定编码(字符串如何转换为字节) 如果你在土耳其写一个文本文件,然后在乌兹别克斯坦加载,那么你可能会得到

我使用的是马里兰大学的FindBug程序,它给了我这个错误

我已经在许多平台上测试了我的代码,它可以工作,那么为什么这段代码是不好的做法,我可以做些什么来改进它呢


它告诉您没有指定编码(字符串如何转换为字节)


如果你在土耳其写一个文本文件,然后在乌兹别克斯坦加载,那么你可能会得到不同的结果。相反(例如),您可以通过自己使用指定的编码将字符串转换为字节来直接指定编码(例如,请参见)。

它告诉您没有指定编码(字符串如何转换为字节)

如果你在土耳其写一个文本文件,然后在乌兹别克斯坦加载,那么你可能会得到不同的结果。相反(例如),您可以通过自己使用指定的编码将字符串转换为字节来直接指定编码(请参见示例)。

请参见文档:“此类的构造函数假定默认字符编码和默认字节缓冲区大小是可接受的。要自己指定这些值,请在FileOutputStream上构造OutputStreamWriter。“

依赖默认字符编码可能被认为是错误的做法。

请参阅文档:“此类的构造函数假定默认字符编码和默认字节缓冲区大小是可接受的。要自己指定这些值,请在FileOutputStream上构造OutputStreamWriter。“

依赖默认字符编码可能被认为是不好的做法。

使用,而不是
FileWriter
。可以使用构造函数中的包装

否则,正如Jeff所说,数据无法正确加载

使用,而不是
FileWriter
。可以使用构造函数中的包装

否则,正如Jeff所说,数据无法正确加载


您需要指定字符集

你可以使用


您需要指定字符集

你可以使用


啊,我明白了,但这真的会成为一个问题吗?想必现在不会有不懂Unicode和ANSI的计算机,默认编码器大概就是其中之一。不是他们不懂相同的编码,而是两台不同的计算机可能有不同的默认值。我相信结果是基于系统区域设置的。@Geesh\u所以永远不要依赖默认值。它每次都会困扰你。有时快,有时晚。但会。是的,这是个问题。选择一个编码。啊,我明白了,但这真的会成为问题吗?想必现在不会有不需要你的计算机了了解Unicode和ANSI,它们可能是其中的一种默认编码器。这不是因为它们不理解相同的编码,而是因为两台不同的计算机可能有不同的默认值。我相信默认值是基于系统区域设置的。@Geesh_所以永远不要依赖什么是默认值。它会困扰你的每次都是u。有时快,有时晚。但会的。是的,这是个问题。选择一个编码。
OutputStream fout = new FileOutputStream("test.txt");  
OutputStream bout = new BufferedOutputStream(fout);  
OutputStreamWriter out = new OutputStreamWriter(bout, "UTF-8");
fileWriter = new OutputStreamWriter(new FileOutputStream(file),charset);