gpt4 book ai didi

java - 尝试编译 java 代码时出现非法字符

转载 作者:IT老高 更新时间:2023-10-28 20:39:01 26 4
gpt4 key购买 nike

我有一个程序,它允许用户在富文本框中键入 java 代码,然后使用 java 编译器对其进行编译。每当我尝试编译我编写的代码时,我都会收到一个错误,指出我的代码开头有一个不存在的非法字符。这是编译器给我的错误:

C:\Users\Travis Michael>"\Program Files\Java\jdk1.6.0_17\bin\javac" Test.java
Test.java:1: illegal character: \187
public class Test
^
Test.java:1: illegal character: \191
public class Test
^
2 errors

最佳答案

当您未指定编码时,BOM 由 File.WriteAllText() 或 StreamWriter 生成。默认是使用 UTF8 编码并生成 BOM。你可以通过它的 -encoding 命令行选项告诉 java 编译器。

阻力最小的路径是避免生成 BOM。通过指定 System.Text.Encoding.Default 来执行此操作,这将使用操作系统的默认代码页中的字符写入文件,并且不会写入 BOM。使用 File.WriteAllText(String, String, Encoding) 重载或 StreamWriter(String, Boolean, Encoding) 构造函数。

只要确保您创建的文件不会被世界另一个角落的机器编译。它将产生 mojibake .

关于java - 尝试编译 java 代码时出现非法字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1992933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com