【java学习—十三】处理流之二:转换流(2)

文章目录

  • 1. 相关概念
  • 2. 转换输入流
  • 3. 转换输出流


1. 相关概念

转换流提供了在字节流字符流之间的转换

Java API 提供了两个转换流:
    InputStreamReaderOutputStreamWriter
    当字节流中的数据都是字符时,转成字符流操作更高效。

InputStreamReader
    用于将字节流中读取到的字节按指定字符集解码成字符。需要和FileInputStream“ 套接”。

OutputStreamWriter
    用于将要写入到字节流中的字符按指定字符集编码成字节。 需要和 FileOutputStream“ 套接”。

2. 转换输入流

举例:
    将tt5.txt文件中的内容输出到控制台。其中tt5.txt里面的内容是“会当凌绝顶”。

package day13;import java.io.FileInputStream;
import java.io.InputStreamReader;/*** 转换流* 可以把字节流转换为字符流* 当字节流中的数据都是字符的时候,使用转换流转为字符流处理效率更高* @author 14532*/public class Test2 {public static void main(String[] args) {//所有的文件都是有编码格式的//对于我们来说,txt和java文件一般来讲有三种编码//ISO8859-1,西欧编码,是纯粹英文编码,不适应汉字//GBK和UTF-8,这两编码是适用于中文和英文//我们一般使用UTF-8编码try {Test2.testInputStreamReader();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}/*** 转换输入流为字符输入流* 在转换字符流的时候,设置的字符集编码要与读取的文件的数据编码格式一致,不然就会出现乱码* InputStreamReader*/public static void testInputStreamReader() throws Exception{FileInputStream fs = new FileInputStream("D:\\java_doc\\eclipse-workspace\\demo\\src\\day13\\tt5.txt");//把字节流转换为字符流InputStreamReader in = new InputStreamReader(fs, "UTF-8");//参数1是字节流,参数2是编码格式char[] c = new char[100];int len = 0;while((len = in.read(c)) != -1) {System.out.println(new String(c, 0, len));}in.close();fs.close();}
}

运行结果:
在这里插入图片描述

3. 转换输出流

举例:
    将“你好你好”字符串输出到tt6.txt文件中

package day13;import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;public class Test2 {public static void main(String[] args) {//所有的文件都是有编码格式的//对于我们来说,txt和java文件一般来讲有三种编码//ISO8859-1,西欧编码,是纯粹英文编码,不适应汉字//GBK和UTF-8,这两编码是适用于中文和英文//我们一般使用UTF-8编码try {
//			Test2.testInputStreamReader();Test2.testOutputStreamWriter();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}	/*** 转换字节输出流为字符输出流* 在转换字符流的时候,设置的字符集编码要与读取的文件的数据编码格式一致,不然就会出现乱码* OutputStreamWriter*/public static void testOutputStreamWriter() throws Exception{FileOutputStream out = new FileOutputStream("D:\\java_doc\\eclipse-workspace\\demo\\src\\day13\\tt6.txt");OutputStreamWriter os = new OutputStreamWriter(out, "UTF-8");os.write("你好你好");os.flush();os.close();out.close();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/161480.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文本生成评估指标简单介绍BLEU+ROUGE+Perplexity+Meteor 代码实现

以下指标主要针对两种:机器翻译和文本生成(文章生成),这里的文本生成并非是总结摘要那类文本生成,仅仅是针对生成句子/词的评价。 首先介绍BLEU,ROUGE, 以及BLEU的改进版本METEOR;后半部分介绍P…

在校园跑腿系统小程序中,如何设计高效的实时通知与消息推送系统?

1. 选择合适的消息推送服务 在校园跑腿系统小程序中,选择一个适合的消息推送服务。例如,使用WebSocket技术、Firebase Cloud Messaging (FCM)、或第三方推送服务如Pusher或OneSignal等。注册并获取相关的API密钥或访问令牌。 2. 集成服务到小程序后端…

ESP32S3入手体验测试

ESP32S3入手体验测试 🔖所入手的型号是YD-ESP32-S3 N16R8,该款和乐鑫官方推出的ESP32-S3-DevKitC-1配置差不多。 🎈乐鑫官方介绍:ESP32-S3-DevKitC-1 v1.1 🔰两者采用的模组:ESP32-S3-WROOM-1 和ESP32-S3-WROOM-1U模组…

思考的起点(一): 事实与判断

事实与判断是思考的主要组成部分,深入理解事实与判断的基本概念,了解其应用可以提升个体的思考质量; 关于事实真相 事实是认知的基础 1.很多事情没有真相, 或者说真相陷入历史的迷雾中, 无法被发现; 2.世界不需要真相,真相往往都是复杂又残…

基于Qt命令行处理XML文件读写

Qt源码在后面,文本介绍Qt国际化语言和XML # XML基础(一) ## 1、概述 ### 1.1 定义(xml是个啥玩意儿?) XML(extensible Markup Language)俗称差妹儿,专业称之为:可拓展标记语言。 (1)何为标记,指的是一种标记语言,或者标签语言,即用一系列的标签来对数据进行…

操作系统 (1)

进程的概念 进程同步/进程互斥 进程互斥的软件实现 进程互斥的硬件实现 信号量机制 生产者消费者问题 以下wei8最终情况,不可调换位置,否则会发生死锁 预防死锁 避免死锁

Visual Studio 2010 软件安装教程(附下载链接)——计算机二级专用编程软件

下载链接: 提取码:2wAKhttps://www.123pan.com/s/JRpSVv-9injv.html 安装步骤如下: 1.如图所示,双击打开【Visual Studio 2010简体中文旗舰版】文件夹 2.如图所示,找到“Setup”文件夹打开,双击运行“setup” 3.如图…

2023 年最值得推荐的 10 款 iPhone 数据恢复软件

iPhone 从来都不是一个简单的打电话电话。它就像一台微型电脑,让我们互相联系、拍照、拍视频、发邮件、看文档、看书。然而,随着它成为日常生活的必需品,我们总是容易因各种原因丢失数据,如删除、恢复出厂设置、iOS 错误、文件同步…

【漏洞复现】Apache_Tomcat_PUT方法任意写文件(CVE-2017-12615)

感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证工具扫描验证POC 1.6、修复建议 说明内容漏洞编号CVE-2017-12615漏洞名称Tomcat_PU…

Python安装

一 Python官网 https://www.python.org/ 二 下载: 此处更改:路径 三 pycharm的安装 pycharm是Python的集成开发环境 参考网址 参考2023年最新Python安装详细教程_python安装教程_thefg的博客-CSDN博客

win10pycharm和anaconda安装和环境配置教程

windows10 64位操作系统下系统运行环境安装配置说明 下载和安装Anaconda,链接https://www.anaconda.com/download 下载完后,双击exe文件 将anaconda自动弹出的窗口全部关掉即可,然后配置高级系统变量 根据自己的路径,配置…

Java中的static

目录 static修饰成员变量 静态成员变量特征 static修饰成员方法 【静态方法特性】 static成员变量初始化 就地初始化 静态代码块初始化 注意事项 static修饰成员变量 静态成员变量特征 static修饰的成员变量,称为静态成员变量,静态成员变量最大的…