java⽂件写⼊utf8_使⽤Java将UTF8数据写⼊⽂件
通常,数据以位(1或0)的形式存储在计算机中。有多种可⽤的编码⽅案来指定每个字符代表的字节集。
Unicode(UTF) -代表Unicode转换格式。它是由Unicode联盟开发的。如果要创建使⽤来⾃多个字符集的字符的⽂档,则可以使⽤单个Unicode字符编码来进⾏操作。它提供3种类型的编码。UTF-8-它以8位为单位(字节),UTF8中的字符长度可以从1到4个字节,从⽽使UTF8的宽度可变。
UTF-16-以16位为单位(短裤),长度可以是1或2个短裤,从⽽使UTF16的宽度可变。unicode文件格式
UTF-32-它以32位单元(长)为单位。它是⼀种固定宽度的格式,长度始终为1“长”。
将UTF数据写⼊⽂件
UTF()java.io.DataOutputStream类的write⽅法接受⼀个String值作为参数,并使⽤修改后的UTF-8编码将其写⼊当前输出流。因此要将UTF-8数据写⼊⽂件-通过传递表⽰所需⽂件路径的String值作为参数来实例化FileOutputStream类。
绕过上⾯创建的FileOutputStream对象作为参数实例化DataOutputStream类。
使⽤writeUTF()⽅法将UTF数据写⼊上⾯创建的OutputStream对象。
使⽤flush()⽅法将OutputStream对象的内容刷新到⽂件(⽬标)
⽰例import java.io.DataOutputStream;
import java.io.FileOutputStream;
public class UTF8Example {
public static void main(String args[]) throws Exception{
//实例化FileOutputStream类
FileOutputStream fileOut = new FileOutputStream("D:\\");
//实例化DataOutputStream类
DataOutputStream outputStream = new DataOutputStream(fileOut);
//将UTF数据写⼊输出流
outputStream.writeUTF("");
outputStream.flush();
System.out.println("Data entered into the file");
}
}
输出结果Data entered into the file
newBufferedWriter()java.nio.file.Files类的⽅法接受Path类的对象,该对象表⽰⽂件的路径,Charset类的对象表⽰将要使⽤的字符序列的类型,read()并返回BufferedWriter对象,该对象可以以指定格式写⼊数据
字符集的值可以是StandardCharsets.UTF_8或StandardCharsets.UTF_16LE或StandardCharsets.UTF_16BE或StandardCharsets.UTF_16或StandardCharsets.US_ASCII或StandardCharsets.ISO_8859_1
因此要将UTF-8数据写⼊⽂件-使⽤java.nio.file.Paths类的get()⽅法创建/获取表⽰所需路径的Path类的对象。
创建/获取⼀个BufferedWriter对象,该对象可以绕过上⾯创建的Path对象和StandardCharsets.UTF_8作为参数来写⼊UtF-8数据。
使⽤append()将UTF-8数据追加到上⾯创建的BufferedWriter对象中。
使⽤flush()⽅法将BufferedWriter的内容刷新到(⽬标)⽂件中。
⽰例import java.io.BufferedWriter;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class UTF8Example {
public static void main(String args[]) throws Exception{
//获取路径对象
Path path = ("D:\\");
//创建⼀个BufferedWriter对象
BufferedWriter writer = wBufferedWriter(path, StandardCharsets.UTF_8); //将UTF-8字符串附加到⽂件
writer.append("");
//将数据刷新到⽂件
writer.flush();
System.out.println("Data entered into the file");
}
}
输出结果Data entered into the file
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论