首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 方法返回 UTF-8 字符串的異常處理最佳實踐

     編輯:程式設計綜合問答

問題代碼


public String printx() {
    Scanner cc = new Scanner(System.in);
    String tx = new String(cc.next().getBytes(), "utf-8"); // 編譯錯誤
    return tx;
}

解決方案

同 35940,核心是處理 UnsupportedEncodingException。推薦使用 StandardCharsets.UTF_8 並在方法內部 try-catch 轉為非受檢異常,簡化調用者代碼。

正確示例


public String printx() {
    try (Scanner cc = new Scanner(System.in, StandardCharsets.UTF_8.name())) {
        return cc.nextLine(); // 直接按 UTF-8 讀取,無需手動轉碼
    } catch (IOException e) {
        throw new UncheckedIOException(e);
    }
}

說明

  • Scanner 構造器指定編碼讀取,返回的 String 內部已是 UTF-16,無需再轉碼。
  • 控制台輸入編碼通常跟隨系統/終端設置,指定 UTF-8 需確保終端也輸出 UTF-8。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved