当前位置:首页 > 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如何学习

学习Java的有效方法 理解基础概念 Java是一门面向对象的编程语言,掌握基础概念如变量、数据类型、运算符、控制语句(if-else、循环)是必要的。面向对象的核心概念包括类、对象、继承、多态和封装…

如何卸载java

如何卸载java

卸载Java的步骤 Windows系统卸载方法 打开控制面板,选择“程序和功能”或“卸载程序”。在列表中找到Java相关条目(如“Java 8 Update 251”),右键选择卸载并跟随向导完成操…

java如何上传文件

java如何上传文件

使用HttpURLConnection上传文件 在Java中,可以通过HttpURLConnection实现文件上传功能。需要设置请求头为multipart/form-data,并构建包含文件数据的请…

如何运行java项目

如何运行java项目

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

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

java如何实现异步

java如何实现异步

Java实现异步的方法 Java中实现异步编程可以通过多种方式,每种方式适用于不同的场景和需求。以下是常见的实现方法: 使用Thread类 创建新线程执行异步任务是最基础的方式。通过继承Thread…