【java基础03:java程序的运行】用dos命令窗口编译运行时出现“错误:编码GBK 的不可映射字符”的解决方法 用IDEA打开eclipse java项目时出现编译错误的解决方法

本文详细介绍了Windows系统如何搜索硬盘上的命令,强调了环境变量Path和classpath在Java编程中的作用。配置Path使得javac命令可用,而classpath用于指导类加载器查找class文件。同时,文章讲解了javac和java命令的使用方法,并提供了解决“编码GBK的不可映射字符”错误的两种方案。最后,提到了在IDEA中打开Eclipse项目时遇到的编译错误及其解决方法。
摘要由CSDN通过智能技术生成

目录

windows操作系统是如何搜索硬盘上某个命令的呢?

——配置环境变量Path、classpath

——javac命令怎么用?

——运行java程序:

出现错误:“ 编码GBK 的不可映射字符 ” 的解决方法

用IDEA打开eclipse java项目时出现编译错误的解决方法


windows操作系统是如何搜索硬盘上某个命令的呢?

  • 首先会从当前目录下搜索
  • 当前目录搜索不到的话,会从环境变量path指定的路径当中搜索某个命令
  • 如果都搜索不到,则报错。

——配置环境变量Path、classpath

  • 注意:Path环境变量和java语言没有关系,path环境变量是属于Windows操作系统的一个知识点。Path环境变量是专门给Windows操作系统指路的。

  • javac想要随意使用,需要将javac所在的目录配置到环境变量Path中:

    Path=XXXX;C:\Program Files\Java\jdk1.8.0_221\bin
  • ClassPath=. classpath是为类加载器指路的,默认是当前目录寻找,指路后只能从指定的文件夹中寻找class文件

    "."代表当前目录 “…“代表上级目录

——javac命令怎么用?

  • javac java源文件路径
  • 注意:路径包括相对路径和绝对路径,都可以

——运行java程序:

  • 需要使用java.exe命令

  • 首先要将dos命令窗口的目录切换到class文件所在目录 在文件所在地址栏敲:cmd 然后回车

  • 使用方式:java 类名

    ​ 硬盘上有HelloWorld.class 类名:HelloWorld

    java HelloWorld

    ​ 注意:java命令后面跟的不是文件名,是一个类的名字。

出现错误:“ 编码GBK 的不可映射字符 ” 的解决方法

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("你好, 世界");//打印输出“你好,世界!”

    }
}

出现此错误的原因: 用软件eclipse、idea等编写出来的java文件用dos窗口执行。是因为软件设置了编码为UTF-8。由于语句中包含中文,javac编译时报错,提示"编码GBK的不可映射字符":
在这里插入图片描述

检查:

  • 检查本机区域语言为中文没有问题在这里插入图片描述
  • 检查此程序可以在eclipse上编译通过。单击eclipse导航栏的“Project”——>选择最底部的Properties——>发现text file encoding (文本文件编码)为UTF-8在这里插入图片描述
  • 查看此程序可以在IDEA运行,单击IDEA导航栏“文件”——>“设置”——找到“文本编码”——>发现文本编码当方式为UTF-8在这里插入图片描述

解决方法

  • 第一种
    运行时使用 javac -encoding UTF-8HelloWorld.java

    javac -encoding UTF-8 HelloWorld.java
    

    在这里插入图片描述

  • 第二种
    右击java源文件——>用记事本打开——>“另存为”——>编码方式选择:“ANSI”——>正常编译即可通过在这里插入图片描述
    在这里插入图片描述

说明:

ANSI:美国国家标准协会,系统预设的标准文字储存格式。简体中文编码GB2312,实际上它是ANSI的一个代码页

UTF-8:通用字集转换格式,这是为传输而设计的编码,2进制,以8位为单元对Unicode进行编码,如果使用只能在同类位元组内支持8个位元的重要资料一类的旧式传输媒体,可选择UTF-8格式。

在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的),用专门的Unicode处理类可以对UTF编码进行处理。

用IDEA打开eclipse java项目时出现编译错误的解决方法

问题:在这里插入图片描述
原因:
Eclipse可以智能的把UTF-8+BOM文件转为普通的UTF-8文件,Android Studio还没有这个功能,所以使用IDEA和Android Studio编译UTF-8+BOM编码的文件时会出现” 非法字符: ‘\ufeff’ “之类的错误。

解决方案:用IDEA转换,先转换成GBK,再转换为UTF-8*
在这里插入图片描述 在这里插入图片描述
在这里插入图片描述

Reload 表示使用新编码重新加载,新编码不会保存
Convert 表示使用新编码进行转换,新编码会保存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值