栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【已解决】【已解决】Java “错误:编码GBK 的不可映射字符”

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【已解决】【已解决】Java “错误:编码GBK 的不可映射字符”

【已解决】Java “错误:编码GBK 的不可映射字符” 正文
public class Robot {
    public static void main(String[] args) {
        try {
            while (true) {
//                 判断是不是到点了,是否该发消息了
                SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");
                String now = formatter.format(new Date());
                if ("21:21".equals(now) && true) {
                    java.awt.Robot robot = new java.awt.Robot();
                    robot.delay(1000);//延时
                    for (int j = 0; j <= 10; j++) {
                        robot.mouseMove(520, 206);  //鼠标移动到指定的坐标
                    }
                    robot.delay(1000);//延时
                    //鼠标左键点击(按下和抬起一起使用)
                    robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); //鼠标左键按下
                    robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); //鼠标左键抬起
                    robot.delay(500);
                    // 把文本设置到剪贴板(复制)
                    setClipboardString("517应到6人,实到5人,李洋请假回家一直未归。");
                    robot.delay(200);
                    //粘贴操作ctrl+v
                    robot.keyPress(KeyEvent.VK_CONTROL);
                    robot.keyPress(KeyEvent.VK_V);
                    robot.keyRelease(KeyEvent.VK_V);
                    robot.keyRelease(KeyEvent.VK_CONTROL);
                    robot.delay(1000);
                    //发送
                    robot.keyPress(KeyEvent.VK_ENTER);
                    robot.keyRelease(KeyEvent.VK_ENTER);
                    robot.delay(1000);
                    //避免重复发送
                    Thread.sleep(1000*60);
                }
            }
        }catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void setClipboardString(String text) {
        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
        Transferable trans = new StringSelection(text);
        clipboard.setContents(trans, null);
    }
}
发现问题

命令行编译:javac Robot.java
编译结果:Java “错误:编码GBK 的不可映射字符”

分析问题

这是Java中典型的中文转码问题
打开.java文件,发现编码格式是UTF-8



解决问题 - 方法一

命令行编译:javac -encoding UTF-8 Robot.java
命令行运行:java Robot

- 方法二

将文件另存为ANSI编码格式




此时即可正常编译-运行
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/945607.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号