博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java:[1,1] 需要class, interface或enum
阅读量:5150 次
发布时间:2019-06-13

本文共 933 字,大约阅读时间需要 3 分钟。

状态:   cmd编译.java文件时报异常:java:[1,1] 需要class, interface或enum 异常原因:   主要原因是java文件的编码问题。   在中文操作系统中,使用一贯的“javac HelloWorld.java”方式编译UTF-8(带BOM)编码的.java源文件,在没有指定编码参数(encoding)的情况下,默认是使用GBK编码。 当编译器用GBK编码来编译UTF-8文件时,就会把UTF-8(带BOM)编码文件的文件头的占3个字节的头信息,按照GBK中汉字占两个字节、英文占1个字节的特性解码成了“乱码”的两个汉 字。这个源文件应该是用记事本另存存为UTF-8编码造成的。 解决办法:   对于非GBK及其子集编码(GB2312)的正确的源文件,编译方式为“javac -encoding "UTF-8" HelloWord.java”,这样代码错误的指定代码里就不会出现乱码的中文。   但是依然会有错误,提示“HelloWorld.java:1: 非法字符: \65279。   这是因为.java对于UTF-8编码,只识别UTF-8(不带BOM)那种。而记事本只支持保存文件为带签名的UTF-8,那有没有办法解决呢?   当然是有的,那就是使用EmEditor、EditPlus、UltraEdit或Notepad++之类的工具另存为UTF(不带BOM)(区别于带UTF + BOM)的编码文件。这时候使用“javac -encoding "UTF-8" HelloWorld.java”,就没有上述编码问题了。 也许有人会说,“我干脆都用GBK不就行了吗,为什么还要用UTF-8呢?”   这是因为UTF-8支持世界多种语言的文字,被世界多数国家接受,是国际通用编码,也是Java推荐使用的编码。Java集成开发环境Eclipse中默认编码就是UTF-8。如果使用GBK,尤其是做 网站,在非汉语国家,将无法正常浏览。在信息化时代,国际交往日益频繁;做软件和网站,不能只着眼当前,也要为日后维护做优化、降低维护成本。

转载于:https://www.cnblogs.com/wkrbky/p/6261010.html

你可能感兴趣的文章
登录测试用例
查看>>
iOS 布局方式
查看>>
linux一些基本操作-防火墙操作
查看>>
System类
查看>>
iOS 学习 - 26.git 版本迁移
查看>>
BZOJ.4903.[CTSC2017]吉夫特(Lucas DP)
查看>>
表单验证
查看>>
tableView
查看>>
Happy Great BG-卡精度
查看>>
Xamarin Visual Studio不识别JDK路径
查看>>
php 如何生成静态页
查看>>
[C++] 函数的概念
查看>>
菜鸟“抄程序”之道
查看>>
DispatcherServlet详解
查看>>
Python11/20---MySql的数据类型/约束条件
查看>>
Ubuntu下关闭防火墙
查看>>
Nginx 正则匹配
查看>>
wxss与rpx
查看>>
thinkphp中的_initialize方法
查看>>
php判断是否为ajax请求
查看>>