Java 中的 readUTF() 和 writeUTF() 方法
java 8object oriented programmingprogramming更新于 2025/11/7 16:12:17
Unicode (UTF) − 代表 Unicode 转换格式。它由 Unicode 联盟开发。如果您想创建使用多种字符集字符的文档,可以使用单一 Unicode 字符编码来实现。它提供 3 种编码类型。
UTF-8 − 它以 8 位(字节)为单位,UTF8 中的字符长度可以是 1 到 4 个字节,因此 UTF8 的宽度可变。
UTF-16-8 −它以 16 位短整型 (short) 为单位,长度可以是 1 或 2 个短整型,从而使 UTF16 的宽度可变。
UTF-32 − 它以 32 位长整型 (long) 为单位。它是一种固定宽度格式,长度始终为 1 个"long"。
java.io.DataOutputStream 类的 writeUTF() 方法接受一个字符串值作为参数,并使用改进型 UTF-8 编码将其写入当前输出流。因此,要将 UTF-8 数据写入文件 −
java.io.DataOutputStream 的 readUTF() 方法将改进型 UTF-8 编码的数据读取到字符串中并返回。因此,要将 UTF-8 数据读取到文件中 −
示例
以下 Java 示例将 UTF-8 数据写入文件,然后使用 writeUTF() 和 readUTF() 方法将其读回。
import java.io.DataInputStream;
import java.io.EOFException;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
public class Read_Write_UTF {
public static void main(String args[]) {
FileOutputStream fileOut = null;
DataOutputStream outputStream = null;
FileInputStream fileIn = null;
DataInputStream inputStream = null;
StringBuffer buffer = new StringBuffer();
try {
//实例化 FileOutputStream 类
fileOut = new FileOutputStream("D:\utfText.txt");
//实例化 DataOutputStream 类
outputStream = new DataOutputStream(fileOut);
//将 UTF 数据写入输出流
outputStream.writeUTF("文件写入");
outputStream.flush();
System.out.println("数据已插入文件");
//实例化 FileInputStream 类
fileIn = new FileInputStream("D:\utfText.txt");
//实例化 DataInputStream 类
inputStream = new DataInputStream(fileIn);
//从 DataInputStream 读取 UTF 数据
while(inputStream.available()>0) {
buffer.append(inputStream.readUTF());
}
}
catch(EOFException ex) {
System.out.println(ex.toString());
}
catch(IOException ex) {
System.out.println(ex.toString());
}
System.out.println("Contents of the file: "+buffer.toString());
}
}
输出
Data inserted into the file Contents of the file: టుటోరియల్స్ పాయింట్ కి స్వాగతిం

