当前位置:首页 > Java

java io如何转码

2026-03-20 18:48:07Java

使用 InputStreamReaderOutputStreamWriter

InputStreamReaderOutputStreamWriter 是 Java IO 中用于字符转码的核心类。通过指定字符编码,可以将字节流转换为字符流,或反之。

java io如何转码

import java.io.*;

public class CharsetExample {
    public static void main(String[] args) throws IOException {
        // 从文件读取字节流并转为 UTF-8 字符流
        try (InputStreamReader reader = new InputStreamReader(
                new FileInputStream("input.txt"), "UTF-8")) {
            int data;
            while ((data = reader.read()) != -1) {
                System.out.print((char) data);
            }
        }

        // 将字符流以 GBK 编码写入文件
        try (OutputStreamWriter writer = new OutputStreamWriter(
                new FileOutputStream("output.txt"), "GBK")) {
            writer.write("这是测试文本");
        }
    }
}

使用 Files 类(Java NIO)

Java NIO 的 Files 类提供了更简洁的方法读取和写入文件,支持直接指定字符编码。

java io如何转码

import java.nio.file.*;
import java.nio.charset.*;

public class NIOCharsetExample {
    public static void main(String[] args) throws IOException {
        // 读取文件内容并指定编码(UTF-8)
        String content = Files.readString(Paths.get("input.txt"), StandardCharsets.UTF_8);

        // 写入文件并指定编码(GBK)
        Files.write(Paths.get("output.txt"), 
                   content.getBytes(Charset.forName("GBK")));
    }
}

处理字符串编码转换

若需直接转换字符串的编码,可通过 StringgetBytes()new String() 方法实现。

public class StringEncodingExample {
    public static void main(String[] args) throws UnsupportedEncodingException {
        String original = "测试文本";

        // 将字符串从 UTF-8 转为 ISO-8859-1
        byte[] isoBytes = original.getBytes("ISO-8859-1");
        String decoded = new String(isoBytes, "ISO-8859-1");
        System.out.println(decoded);
    }
}

注意事项

  • 确保目标编码支持所需字符(如中文需使用 UTF-8GBK)。
  • 处理文件时,始终显式指定编码以避免平台默认编码差异。
  • 异常处理:捕获 UnsupportedEncodingExceptionIOException

标签: javaio
分享给朋友:

相关文章

如何配置java环境变量

如何配置java环境变量

下载并安装JDK 从Oracle官网或OpenJDK项目下载适合操作系统的JDK安装包。运行安装程序,按照提示完成安装,默认路径通常为C:\Program Files\Java\jdk-版本号。 配…

如何运行java项目

如何运行java项目

运行Java项目的步骤 确保Java环境已安装 在运行Java项目前,需确认系统已安装Java Development Kit(JDK)。通过命令行输入java -version和javac -ver…

java如何处理高并发

java如何处理高并发

Java处理高并发的方法 使用多线程和线程池 Java的java.util.concurrent包提供了线程池(如ThreadPoolExecutor)和并发工具类(如CountDownLatch、C…

java如何导入jar包

java如何导入jar包

在Eclipse中导入JAR包 右键项目 -> 选择"Properties" -> 左侧导航选择"Java Build Path" -> 切换到"Libraries"标签 ->…

如何启用java

如何启用java

启用 Java 的方法 检查 Java 是否已安装 在命令行或终端输入 java -version,如果显示版本信息,说明 Java 已安装。若未安装,需从 Oracle 官网 或 OpenJDK 下…

如何学习好java

如何学习好java

掌握Java基础知识 学习Java的第一步是掌握其基础知识,包括数据类型、变量、运算符、控制流语句(如if-else、for循环、while循环)以及数组。这些是构建更复杂程序的基石。可以通过在线教程…