Unicode(UTF)-代表Unicode转换格式。它是由Unicode联盟开发的。如果要创建使用来自多个字符集的字符的文档,则可以使用单个Unicode字符编码来创建。它提供3种类型的编码。UTF-8-它以8位为单位(字节),UTF8中的字符长度可以从1到4个字节,从而使UTF8的宽度可变。
UTF-16-8-它以16位为单位(短裤),长度可以是1或2个短裤,从而使UTF16的宽度可变。
UTF-32-它以32位单元(长)为单位。它是固定宽度格式,长度始终为1“长”。
writeUTF()的java.io.DataOutputStream中类的方法接受字符串值作为参数,并使用改性UTF-8编码并将其写入到当前的输出流。因此要将UTF-8数据写入文件-
readUTF()的java.io.DataOutputStream中的方法读取该为修饰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("Data inserted into the file");
//实例化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: టుటోరియల్స్ పాయింట్ కి స్వాగతిం