我在 ubuntu 13.10 上,正在 eclipse 中编写一个程序,该程序应该将结果输出到文件中。我正在构建一个 LZW 压缩和解压缩程序,该程序使用字符转换为其代码。在控制台上一切输出都很好。但是当我尝试将输出重定向到文件(something.txt)时,我得到的只是这样的:
扡聡臂蚃膂询誋
{编辑}
cat somthing.txt 显示以下内容:
aba…………b……
locale
说:
LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_CTYPE="en_US.UTF-8" LC_NUMERIC=en_GB.UTF-8 LC_TIME=en_GB.UTF-8 LC_COLLATE="en_US.UTF-8" LC_MONETARY=en_GB.UTF- 8 LC_MESSAGES="en_US.UTF-8" LC_PAPER=en_GB.UTF-8 LC_NAME=en_GB.UTF-8 LC_ADDRESS=en_GB.UTF-8 LC_TELEPHONE=en_GB.UTF-8 LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=en_GB.UTF -8 LC_ALL=
其中 ababbababaaab 是我的程序的输入,输出应该是其中一些字符的 ascii 数字
我尝试从终端更改编码,但没有任何改变。知道有什么问题吗?
答案1
PrintWriter
使用并将其参数设置为UTF-8
而不是DataOutputStream
在我的文件上写入时问题消失了。 (爪哇)