博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据输入/输出流
阅读量:6984 次
发布时间:2019-06-27

本文共 1525 字,大约阅读时间需要 5 分钟。

     由于Java中的字符是Unicode编码,是双字节的,writeBytes只是将字符串中的每一个字符的低字节内容写入目标设备中,而writeChars将字符串的每一个字符的两个字节的内容都写到目标设备中,WriterUTF将字符串按照UTF编码后的字节长度写入目标设备,然后才是每一字节的UTF编码。

    DataInputStream类只提供了一个readUTF()方法返回字符串,这是因为要在一个连续的字节流读取一个字符串,如果没有特殊的标记作为一个字符串的结尾,并且不知道这个字符串的长度,就无法知道读取到什么位置才是这个字符串的结束,DataOutputStream类中只有writeUTF()方法向目标设备中写入字符串的长度,所以也能准确的读回写入的字符串。

1 public class Dataintandout { 2  3     public static void main(String[] args) { 4         try{ 5             //创建FileOutputStream对象 6             FileOutputStream fStream = new FileOutputStream("D:/Sourcecode/Java/file/word4.txt"); 7             //创建DataOutputStream对象 8             DataOutputStream dStream = new DataOutputStream(fStream); 9             dStream.writeUTF("使用writeUTF()方法写入数据:不是无心惜落花,落花无意恋春花");10             dStream.writeChars("使用writeChars()方法写入数据:今朝春去谁家落,把酒临风千种恨");11             dStream.writeBytes("使用writeBytes()方法写入数据:昨日寒鸦一片愁,柳塘新绿却温柔");12             dStream.close();13             //创建FileInputStream对象14         FileInputStream fileInputStream = new FileInputStream("D:/Sourcecode/Java/file/word4.txt");15         //创建DataInputStream对象16         DataInputStream dataInputStream = new DataInputStream(fileInputStream);17         System.out.println(dataInputStream.readUTF());//将文件输出18         }catch(Exception e){19             e.printStackTrace();20         }21     }22 23 }
View Code

运行结果:使用writeUTF()方法写入数据:不是无心惜落花,落花无意恋春花

打开文本内容如下:

尽管在记事本中出现乱码的情况,但在控制台屏幕上仍然能正确显示内容。但如果使用writeChars()方法和writeBytes()方法写入字符串,就不能正确读出。

 

转载于:https://www.cnblogs.com/xyzyj/p/6155576.html

你可能感兴趣的文章
java数组-如何在一堆数据中使用数组!
查看>>
BZOJ5286:[HNOI/AHOI2018]转盘——题解
查看>>
37.Intellij IDEA解决GBK乱码
查看>>
Go语言的多态(Polymorphism)
查看>>
Struts2--DomainModel接收参数---使用广泛!!!
查看>>
如何用cocoapods 来管理项目中的第三方框架?
查看>>
手工成本维护不可以将成本改为零
查看>>
运算符优先级
查看>>
请教 Discuz syscache 中一段cache 的意思
查看>>
数据预处理--样本选择、交叉验证
查看>>
如何下载最新版的 Adobe Flash Player
查看>>
Flask Web 开发 错误页面自定义
查看>>
MySQL的库表详细操作
查看>>
python内存工具--Heapy
查看>>
安卓统一推送联盟融云成唯一IM云服务企业
查看>>
selenium+python中,框架中,怎么返回上一个菜单
查看>>
天气预报爬虫小程序
查看>>
快速排序--Python实现
查看>>
trim函数
查看>>
查看代码
查看>>