【Java基础】IO流(4) —— 转换流、打印流

news2025/1/17 4:40:19

【Java基础】IO流(1) —— 简介
【Java基础】IO流(2) —— 字符流
【Java基础】IO流(3) —— 字节流
【Java基础】IO流(4) —— 转换流、打印流
【Java基础】IO流(5) —— 序列流、内存流
【Java基础】IO流(6) —— 随机访问文件流、数据流

转换流

InputStreamReader字节输入流到字符输入流的桥

OutputStreamWriter字节输出流到字符输出流的桥

构造方法

  • InputStreamReader(OutputStream out)
    创建一个使用默认字符编码的转换输入流
    InputStreamReader(OutputStream out, String charsetName)
    创建一个使用命名字符集的转换输入流

方法

//定义标准的键盘输入
InputStream ins=System.in;
//把字节输入流转为字符输入流
InputStreamReader isr=new InputStreamReader(ins);
//为了提高效率,可以使用BufferedReader
BufferedReader br=new BufferedReader(isr);
//定义标准的键盘输出
PrintStream ps=System.out;
//把字节输出流转为字符输出流
OutputStreamWriter osw=new OutputStreamWriter(ps);
//为了提高效率,可以使用BufferedWriter
BufferedWriter bw=new BufferedWriter(osw);
String line=null;
while ((line=br.readLine())!=null){
	if ("886".equals(line))
		break;
	bw.write(line);
	bw.newLine();
	bw.flush();
	//System.out.println(line);
}
br.close();
bw.close();
public static void reads() throws IOException{
	InputStreamReader isr=new InputStreamReader(new FileInputStream("UTF-8.txt"),"UTF-8");
    //GBK编码中一个汉字占两个字节,UTF-8中一个汉字占三个字节
	char[] arr=new char[2];
	int num=isr.read(arr);
	System.out.println(new String(arr,0,num));//你好
	isr.close();
}
public static void writes() throws IOException{
	OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("UTF-8.txt"),"UTF-8");
	osw.write("你好");
	osw.close();
}

在这里插入图片描述

打印流

PrintStream:字节打印流

继承了OutputStream,具备了字节输出流的基本功能,特有打印功能

  1. 可以操纵File类型的文件
  2. 可以操纵String类型的文件
  3. PrintStream(OutputStream out) 可以操作字节输出流对象

PrintWriter:字符打印流

继承了Writer,具备了Writer的基本功能,特有打印功能

  1. 可以操纵File类型的文件
  2. 可以操纵String类型的文件
  3. PrintWriter(OutputStream out) 可以操作字节输出流对象
  4. PrintWriter(Writer out) 可以操作字符流输出对象

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DataGrip测试连接时出现报错解决方案

(一)报错情况描述: DBMS: MySQL (无版本) 区分大小写: 普通形式mixed,分隔形式exact Connection refused: connect. (二)解决方案: 1、 首先打开命令指示符,选择以管理员身份运行。…

在排序数组中查找元素的第一个位置和最后一个位置 ---- 二分查找

题目链接 题目: 分析: 如果我们查找元素的第一个位置, 随便假设一个位置为x, 如果这个数>target, 说明 [left,x-1] 是我们要找的位置, [x,right] 可以舍去, 让right mid-1,如果这个数target, 说明[left,x] 是我们要找的位置, [x1,right] 可以舍去, 让right mid,(因为当…

做抖音小店不想赔钱,这几个功能必须关掉!

大家好,我是电商糖果 有很多新手刚开始运营店铺,对店铺的有些设置并不了解。 前期将所有的设置都打开了,等到店铺出单之后,才发现麻烦一大堆。 这里糖果就跟自己开店的经验,劝告各位新手朋友,这几个功能…

数据仓库实验四:聚类分析实验

目录 一、实验目的二、实验内容和要求三、实验步骤1、建立数据表2、建立数据源视图3、建立挖掘结构Student.dmm4、部署项目并浏览结果5、挖掘模型预测 四、实验结果分析五、实验总结体会 一、实验目的 通过本实验,进一步理解基于划分的、基于层次的、基于密度的聚类…

【STM32项目】基于stm32智能鱼缸控制系统的设计与实现(完整工程资料源码)

实物演示效果 基于stm32智能鱼缸控制系统的设计与实现 目录: 实物演示效果 目录: 一、 绪论 1.1 项目研究目的及意义 1.1.1 选题目的 1.1.2 选题意义 1.2 国内外研究现状 1.2.1 国外发展现状 1.2.2 国内发展现状 1.3 项目研究内容 二、智能鱼缸系统总体设…

森林消防高压灭火泵的功能特点

我国森林面积广阔,自然资源丰富,而森林火灾是常见的自然灾害,具有范围大、损失惨、时间长、火势猛等特点。森林火灾会烧毁成片的森林,伤害林内的动物,而且还降低森林的更新能力,引起土壤的贫瘠和破坏森林涵…

【Qt 学习笔记】Qt常用控件 | 布局管理器 | 网格布局Grid Layout

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 布局管理器 | 网格布局Grid Layout 文章编号&#xff1a…

iPhone实况照片从Windows资源管理器复制的JPG+MOV无法正常还原到iPhone

背景: 之前使用的iPhone 15 Pro,使用的Windows资源管理器当中复制导出的实况照片,复制出来的格式例如IMG_0001.JPG, IMG_0001.MOV。之后手机就卖掉了。现在使用的iPhone 14 Pro Max,想要导回之前备份的实况照片。尝试使用爱思助手…

92.网络游戏逆向分析与漏洞攻防-游戏技能系统分析-利用哈希表实现快速读取文本内容

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 内容…

车间人员作业行为智能检测 AI视觉在生产车间制造中的应用

车间人员作业行为智能检测系统基于神经网络人工智能视觉算法,车间人员作业行为智能检测通过对车间监控摄像头获取的视频图像进行分析和识别,实现了对人员操作行为的智能检测。系统对工人的操作环节进行分解,根据时间、动作标准等方面制定了规…

Django5+React18前后端分离开发实战13 使用React创建前端项目

先将nodejs的版本切换到18: 接着,创建项目: npx create-react-app frontend接着,使用webstorm打开这个刚创建的项目: 添加一个npm run start的配置: 通过start启动服务: 浏览器访问&…

STranslate即开即用、即用即走的翻译(OCR)工具 v1.1.3.514

软件介绍 STranslate 是一款面向 Windows 操作系统用户设计的翻译软件,该软件具备开源性质并且免费。它结合了翻译功能与光学字符识别(OCR)技术,允许用户高效且直接地在屏幕上进行文字的翻译和识别。在开发过程中,STr…

Nginx/阿里云/二级域名的配置和使用

阿里云域名解析配置如下: nginx配置如下: 访问地址: zhadmin.iotzzh.com image.png

二叉搜索数之删除节点

看题目: 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步…

详解ArcGIS 水文分析模型构建

目录 前言 项目环境、条件 Dem 数据预览 ArcGIS模型构建器 模型搭建 填洼 流向 流量 河流长度 栅格计算器 河流链接 河网分级 栅格河网矢量化 绘制倾泻点 栅格流域提取 集水区 盆域分析 栅格转面 模型应用 导出 py 文件 完善脚本 最终效果 结束语 前言 …

【NumPy】关于numpy.loadtxt()函数,看这一篇文章就够了

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

有没有适合女性做的副业?盘点9个适合女生做的赚钱兼职副业

亲爱的女神们,你们是否也想在忙碌的生活中寻找一些额外的乐趣和收入呢?今天,就为大家揭秘九种特别适合女性的副业,让你在追求美丽的同时,也能轻松赚取零花钱,秒变“小金库”! 一、宅富社任务赚钱…

Default Folder X for Mac v6.0.7激活版:高效、智能的文件管理新选择

在快节奏的工作与生活中,高效管理文件已成为每个Mac用户的迫切需求。Default Folder X for Mac正是为了满足这一需求而生,它以其卓越的性能和丰富的功能,为Mac用户带来了前所未有的文件管理体验。 Default Folder X for Mac拥有直观易用的界面…

攻防世界---web---warmup

1、题目描述 2、查看源码,发现有个source.php 3、访问该文件,得到这一串代码 4、分析代码 5、访问hint.php,提示flag在ffffllllaaaagggg这个文件下 6、构造payload ?filesource.php?/../../../../../../ffffllllaaaagggg