微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java,Unicode,UTF-8和Windows命令提示符

我有一个应该读取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中使用时挂起

创build文件夹/文件并设置权限

从Windows命令提示获取cpu使用情况

áéí ñóú

我已经尝试使用和不使用BOM来保存文件,但是这没有什么区别。 (UTF-8甚至不需要物料清单,因为它缺乏字节顺序,是否正确?)我试着用javac -encoding utf8 *.java编译,但是同样的事情发生了。

我现在没有想法了。 任何人都在帮忙吗?

代码中使用disM

使用单个窗口命令从文件提取N行

如何返回错误代码而不closures命令提示符窗口?

在执行外部程序后可以发送多个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] 举报,一经查实,本站将立刻删除。

相关推荐