我有一个应该读取UTF-8编码文件的jar文件 – 我在Windows下的文本编辑器中编写,并将字符显示在屏幕上。 在OS X和Linux下这工作完美无瑕。 我有一些麻烦,让它在Windows下工作,但我已经定义了一个读者和写作者是这样的:
FileInputStream file = new FileInputStream(args[0]); InputStreamReader reader = new InputStreamReader(file,"UTF8"); PrintStream writer = new PrintStream(System.out,true,"UTF8");
我也改变了命令提示字体到Lucida Console和字符编码为chcp 65001 UTF-8,依次。
现在,当我运行java -jar Read.jar file.txt ,提示符java -jar Read.jar file.txt出来。
áéí ñóú []óú []
但是,如果我运行type file.txt ,提示正确显示文件的内容。
c ++在后台运行system(),在dirpath中input空格,输出到文本文件
我无法打开manage.py
TaskList命令在batch file中使用时挂起
áéí ñóú
我已经尝试使用和不使用BOM来保存文件,但是这没有什么区别。 (UTF-8甚至不需要物料清单,因为它缺乏字节顺序,是否正确?)我试着用javac -encoding utf8 *.java编译,但是同样的事情发生了。
我现在没有想法了。 任何人都在帮忙吗?
在执行外部程序后可以发送多个input的Python脚本
my.bat不被识别为内部或外部命令,可操作程序或batch file
代码页65001已损坏。 MS C运行时stdio函数返回在65001下运行时读取和写入的字节数不准确,导致像这样的奇怪行为。
这是不可修复的 – 您不能可靠地使用Windows控制台来处理来自使用C stdlib字节I / O函数(包括Java)的应用程序的Unicode I / O。 您可以通过调用Win32 API函数WriteConsoleW来直接获取Unicode内容到控制台,但是您必须担心检测何时标准输出实际上是一个控制台(不重定向到文件)。
这是MS表示无意修理的一个长期存在的祸根。
看起来可能是你换行符。 当我在标准英文ISO-8859-1中使用换行符时,我使用char []数组,因为Windows字符' r'和' n'以及UNIX / Linux只是换行符。 赢4个字节,unix 2个字节。 一个不是,在字符转换器类的api文档中,编码转换系统可能会留下虚假的字节,以取决于编码和字符大小的要求。
尝试使用BufferReader来读取你的文件,
BufferedReader in = new BufferedReader( new InputStreamReader( new FileInputStream(file),"UTF8"));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。