java 文件写入 utf 8_使用Java将UTF8数据写入文件

通常,数据以位(1或0)的形式存储在计算机中。有多种可用的编码方案来指定每个字符代表的字节集。

Unicode(UTF) -代表Unicode转换格式。它是由Unicode联盟开发的。如果要创建使用来自多个字符集的字符的文档,则可以使用单个Unicode字符编码来进行操作。它提供3种类型的编码。UTF-8-它以8位为单位(字节),UTF8中的字符长度可以从1到4个字节,从而使UTF8的宽度可变。

UTF-16-以16位为单位(短裤),长度可以是1或2个短裤,从而使UTF16的宽度可变。

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:\\samplefile.txt");

//实例化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 = Paths.get("D:\\samplefile.txt");

//创建一个BufferedWriter对象

BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8);

//将UTF-8字符串附加到文件

writer.append("టుటోరియల్స్ పాయింట్ కి స్వాగతిం");

//将数据刷新到文件

writer.flush();

System.out.println("Data entered into the file");

}

}

输出结果Data entered into the file

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值