首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么"toString“会给出与JFrame和System.out.println不同的结果?

为什么"toString“会给出与JFrame和System.out.println不同的结果?
EN

Stack Overflow用户
提问于 2021-07-28 21:16:37
回答 1查看 38关注 0票数 0

当我有俄罗斯字母的文件时,它们看起来很好作为JFrame的标题。但当我尝试在控制台中打印它们时,它会显示问题图标。有人能解释一下为什么会这样吗?也许有人有更简单的方法在俄语上获得头衔。

代码语言:javascript
运行
复制
public class Main {
public static void main(String[] args){
    File file = new File("1.txt");
    try {
        file.createNewFile();
    } catch (IOException e) {
        e.printStackTrace();
    }
    StringBuilder result = new StringBuilder();
    try (InputStreamReader reader = new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8)){
        int a = reader.read();
        while(a!=-1){
            result.append((char)a);
            a = reader.read();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    JFrame frame = new JFrame(result.toString());
    frame.setVisible(true);
    frame.setSize(500, 500);

    System.out.println(result.toString());
}
}
EN

Stack Overflow用户

发布于 2021-07-28 21:22:36

这不是代码的问题,而是控制台的“问题”。控制台不知道您的俄语字符是什么意思,所以它会打印问号。另一方面,JFrame知道俄语符号,并且能够打印出来。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68561146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档