Java 中的 readUTF() 和 writeUTF() 方法


Unicode (UTF) - 代表 Unicode 转换格式。它由 Unicode 联盟开发。如果您想创建使用多个字符集的字符的文档,则可以使用单个 Unicode 字符编码来实现。它提供了 3 种类型的编码。

  • UTF-8 - 它以 8 位单元(字节)表示,UTF8 中的一个字符可以是 1 到 4 个字节长,这使得 UTF8 成为可变宽度。

  • UTF-16-8 - 它以 16 位单元(短整型)表示,它可以是 1 或 2 个短整型长,这使得 UTF16 成为可变宽度。

  • UTF-32 - 它以 32 位单元(长整型)表示。它是一种固定宽度格式,长度始终为 1 个“长整型”。

java.io.DataOutputStream 类的 writeUTF() 方法接受一个 String 值作为参数,并使用修改后的 UTF-8 编码将其写入当前输出流。因此,要将 UTF-8 数据写入文件 -

java.io.DataOutputStream 的 readUTF() 方法读取以修改后的 UTF-8 编码表示的数据,将其转换为 String 并返回。因此,要将 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 {
         //Instantiating the FileOutputStream class
         fileOut = new FileOutputStream("D:\utfText.txt");
         //Instantiating the DataOutputStream class
         outputStream = new DataOutputStream(fileOut);
         //Writing UTF data to the output stream
         outputStream.writeUTF("టుటోరియల్స్ పాయింట్ కి స్వాగతిం");
         outputStream.flush();
         System.out.println("Data inserted into the file");
         //Instantiating the FileInputStream class
         fileIn = new FileInputStream("D:\utfText.txt");
         //Instantiating the DataInputStream class
         inputStream = new DataInputStream(fileIn);
         //Reading UTF data from the DataInputStream
         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: టుటోరియల్స్ పాయింట్ కి స్వాగతిం

更新于: 2019-09-06

3K+ 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告