第十五章总结

news2024/11/15 17:45:55

一.输入/输出流
        1.输入流
InputStrema类是字节输入流的抽象类,它是所有字节输入流的父类。

该类中所有方法遇到错误都会引发IOException异常。

read()方法:从输入流中读取数据的下一个字节。返回0~255的int字节值。如果因为已经到达流末尾而没有可用的字节,则返回值为-1.

read(byte[] b):从输入流中读入一定长度的字节,并以整数的形式返回字节数。

mark(int readlimit)方法:在输入流的当前位置放置一个标记,readlimit参数告知此输入流在标记位置失效之前允许读取的字节数。

reset()方法:将输入指针返回到当前所做的标记处。

skip(long n)方法:跳过输入流上的n个字节并返回实际跳过的字节数。

markSupported()方法:如果当前流支持mark()/reset()操作就返回true().

close方法:关闭此输入流并释放与该流关联的所有系统资源。

        2.输入流
OutputStream类是字节输出流的抽象类,此抽象类是表示输出字节流所有类的超类。

OutputStream类中的所有方法均返回void,在遇到错误时会引发IOException异常。

write(int b)方法:将指定的字节写入此输出流。

write(byte[] b)方法:将b个字节从指定的byte数组写入此输出流。

write(byte[] b,int off,int len)方法:将指定byte数组中从偏移量off开始的len个字节写入此输出流。

flush()方法:彻底完成输出并清空缓存区。

close()方法:关闭输出流。

二.File类
        1.文件的创建与删除
(1)File(String pathname)
该构造方法通过将给定的路径名字符串转化为抽象路径名来创建一个新File实例。语法:

new File(String pathname)
其中,pathname代表路径名称(包含文件夹)

(2)File(String parent,String child) 
该构造方法根据定义的父路径和子路径字符串(包含文件名)创建一个新的File对象。语法:

new File(String parent,String child)
parent:父路径字符串。

child:子路径字符串。

(3)File(File f,String child)
 该构造方法根据 f 抽象路径名和child路径名字符串创建一个新的File实例。语法:

new File(File f,String child)
f:父路径对象。

child:子路径字符串。 

【例15.1】在D盘创建文本文件
代码:

结果:

若D盘下没有word.txt文件,则会创建该文件并输出如下内容:

若D盘下有word.txt文件,则会删除该文件并输出如下内容:

        2.获取文件信息


【例15.2】读取文本文件的名称、长度和隐藏属性
代码:

结果:

file.listFiles()  获取该文件夹下所有文件(含文件夹)
file.isDirectory()  判断该文件是否是文件夹

练习:获取D盘中的一个文件夹里内容
代码:

结果:

三.文件输入/输出流 
        1.FileInputStream与FileOutputStream
FileInputStream类常用的构造方法:

FileInputStream(String name)
FileInputStream(File file)
第一个构造方法使用给定的文件名name创建一个FileInputStream对象,第二个构造方法使用File对象创建FileInputStream对象。

【例15.3】向文本文件中写入内容,再读取出来
代码:

结果:

        2.FileReader和FileWriter类
FileReader类和FileWriter类对应了FileInputStream类和FileOutputStream类。FileReader类顺序地读取文件,只要不关闭流,每次调用read()方法就顺序地读取源中其余内容,直到源的末尾或流被关闭。

【例15.4】使用字符流读写文本文件
代码:

结果:

四.带缓存的输入/输出流 
        1.BuffenedInputStream与BufferedOutputStream类
BuffenedInputStream类可以对所有InputStream类进行带缓存区的包装以达到性能的优化。

BuffenedInputStream类的两个构造方法:

BuffenedInputStream(InputStream in)
BuffenedInputStream(InputStream in,int size)


 BufferedOutputStream类也有两个构造方法:

BufferedOutputStream(OutputStream in)
BufferedOutputStream(OutputStream in,int size)
        2.BufferedReader与BufferedWriter类


 BufferedReader类常用的方法:

read()方法:读取单个字符
readLine()方法:读取一个文本行,并将其返回为字符串。若无数据可读,则返回null
BufferedWriter类中的方法都返回void,常用的方法:

write(String s,int off,int len)方法:写入字符串的某一部分
flush()方法:刷新该流的缓存
newLine()方法:写入一个行分隔符
【例15.5】使用缓冲流读写文本文件
代码:

结果:

五.数据输入/输出流
DataInputStream类与DataOutputStream类的构造方法:

DataInputStream(InputStream in):使用指定的基础InputStream对象创建一个DataInputStream对象
DataOutputStream(OutputStream out):创建一个新的数据输出流,将数据写入文件的方法。
DataInputStream类提供了将字符串、double数据、int数据、boolean数据写入文件的方法。

DataOutputStream类只提供了一个readUTF()方法返回字符串。

【例】使用数据流读写文本文件
代码:

结果:


 

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

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

相关文章

开源智能体来啦!港大团队发布OpenAgents,可以搞数据分析、聊天、支持200+插件

夕小瑶科技说 原创 作者 | 智商掉了一地、ZenMoore 港大的研究团队最近发布了一个新的开源 Agent 框架,名为 OpenAgents. 它可以用于实际用户场景,特别是在使用自然语言执行复杂任务的情况下。先前的语言智能体框架主要关注概念验证或者供开发人员使用&…

6个无版权、免费、高清图片素材库

找免费无版权图片素材,就上这6个网站,超高质量,可商用,赶紧收藏! 1、菜鸟图库 https://www.sucai999.com/pic.html?vNTYwNDUx 网站主要为新手设计师提供免费素材,这些素材的质量都很高,类别也…

如何让你的Node.js应用程序处理数百万的API请求

目录 一、了解 Node.JS 和 API 请求 二、优化 NodeJS 以实现高性能 1.使用异步操作 2.实现缓存 3.优化数据库查询 4.负载平衡 5.水平扩展 三、测试和监控性能 1.负载测试 2.应用程序性能监控(APM) 四、结论 一、了解 Node.JS 和 API 请求 在我们深入研究这些技术之…

【C语言基础】结构体中内嵌联合体|联合体中内嵌结构体

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

【算法|动态规划No.22】leetcode115. 不同的子序列

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…

jmeter接口自动化测试

前面我们复习了jmeter 的非图形化界面运行我们的测试接口。 大家可以翻看往期jmeter的文章。 具体来说就是:jmeter -n -t ****.jmx -l ****.jtl -e -o **** (*号代表路径) 生成了测试报告。 但是这个非图形化运行有个缺点,就是只能运…

Pygame中实现图片的移动

在《Pygame中将鼠标形状设置为图片2-1》和《Pygame中将鼠标形状设置为图片2-2》中提到将鼠标设置为指定图片。接下来在该文章涉及到的代码基础之上,实现图片的移动,效果如图1所示。 图1 图片移动效果 从图1中可以看出,导入一个大猩猩的图片&…

DailyPractice.2023.10.19

文章目录 1. 24. 两两交换链表中的节点2. 23. 合并 K 个升序链表3.148. 排序链表4.236. 二叉树的最近公共祖先5.78. 子集6.138. 随机链表的复制7.25. K 个一组翻转链表 1. 24. 两两交换链表中的节点 24. 两两交换链表中的节点 /*** Definition for singly-linked list.* stru…

扫描全能王文档矫正逆向记录

背景 扫描全能王有个功能是将弯曲的文本拉直成平直的文本。在扫描全能王的app上,这个功能的入口在拍书籍的tab。同时在图片编辑页面,也有个按钮可以触发这个功能。它的效果大概如下。 这篇文章主要介绍如何逆向这个算法 初步定位 对扫描王apk初步逆向…

【软考-中级】系统集成项目管理工程师 【15 信息 (文档) 和配置管理】

持续更新。。。。。。。。。。。。。。。 【第十五章】信息(文档)和配置管理 知识精讲考点 1:软件文档一般分为三类:开发文档、产品文档、管理文档。考点 2:文档的质量可以分为四级:考点 3:配置管考点 4:考点 5:考点6:考点 7:配置项版本号:考点 8:考点9…

[BUUCTF newstar week2] crypto/pwn/reverse

难度上来了,而且比赛加多了,newStar/0xGame/SHCTF,moe也结束了,周末还有TCP1P,来不及写东西了。抓时间先一个个来吧。 crypto 滴啤 就是dp的意思,也就是泄露dp求分解 from Crypto.Util.number import *…

汽车标定的ASAM MCD-1 POD

1.导语 ​做汽车标定slave基础软件以及做参数标定的同学,对ASAM MCD-2-MC(ASAP2,人话A2L文件)、ASAM MCD-1-XCP(人话xcp协议)一定非常熟悉。 常见的标定套件也是由很熟悉的供应商提供,例如ETAS的INCAES500系列产品、…

Hadoop3教程(二十三):Yarn的三大调度器

文章目录 (129)FIFO调度器(130)容量调度器特点资源分配算法 (131)公平调度器特点缺额的定义队列资源分配方式基于FIFO策略基于Fair策略资源分配算法 DRF策略 参考文献 (129)FIFO调度…

R6G azide, 5-isomer具有良好的水溶性,2135330-71-9

试剂 | 基础知识概述(部分): 英文名称:R6G azide, 5-isomer CAS:2135330-71-9 分子式:C30H32N6O4 分子量:540.61 规格标准:10mg,25mg,50mg,可提供mg级以…

C1N短网址 | 核心专利(1) - 基于随机字符实现的网址缩短

1.短链接介绍 举个例子,现在我的博客地址是这个:https://blog.csdn.net/liwei128/article/details/91358071 (55个字符),我通过短链接服务可以将上面的地址转成http://m.c1n.cn (15个字符) 那我为什么要将原有的URL转成较短的链接呢&#x…

C++QT---QT-day3

使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为&…

https证书配置(nginx)

HTTPS 是什么 HTTPS 是一种应用层协议,是一种透过计算机网络进行安全通信的传输协议,HTTPS 经由 HTTP 进行通信,但是在 HTTP 的基础上引入了一个加密层,使用 SSL/TLS 来加密数据包,HTTPS 开发的主要目的,是…

重磅!海云安联合深圳大学共同举行“人工智能联合实验室”揭牌仪式

2023年10月17日,大数据系统计算技术国家工程实验室-深圳海云安网络安全技术有限公司人工智能联合实验室(以下简称“联合实验室” )揭牌仪式在深圳大学致真楼图灵会议室举行。 大数据国家工程实验室执行主任李坚强、成果转化办公室主任王利、健康大数据研究中心副主任…

无代码玩转web UI自动化

可以直接进入官网下载开源版或点击右上角体验企业版体验 RunnerGo UI自动化平台 RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块,覆盖了整个产品测试周期。 RunnerGo UI自动化基于Selenium浏览器自动化方案构建,内嵌高度…

最新AI创作系统ChatGPT网站H5源码V2.6.4+搭建部署教程+支持GPT4.0+支持ai绘画(Midjourney)/支持Prompt预设应用

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统AI绘画系统,支持OpenAI GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署…