当前位置: 首页 > news >正文

第十五章总结

一.输入/输出流

        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()方法返回字符串。

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

代码:

结果:

相关文章:

第十五章总结

一.输入/输出流 1.输入流 InputStrema类是字节输入流的抽象类,它是所有字节输入流的父类。 该类中所有方法遇到错误都会引发IOException异常。 read()方法:从输入流中读取数据的下一个字节。返回0~255的int字节值。如果因为已经到达流末尾而没有可用的…...

音频I2S

前言 基于网上资料对相关概念做整理汇总,部分内容引用自文后文章。 学习目标:简单了解相关概念、相关协议。 1 概述 数字音频接口DAI,即Digital Audio Interfaces,顾名思义,DAI表示在板级或板间传输数字音频信…...

小程序中的合法域名的作用及条件有哪些?

小程序的合法域名是指小程序项目中使用的各种接口、资源文件等所在的域名。在小程序开发中,需要将这些域名添加到小程序后台的“开发设置”-“服务器域名”中进行配置,才能够正常使用。 合法域名的作用: 1.作为小程序请求的 API 服务器域名…...

SpringData JPA 整合Springboot

1.导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0…...

打工人副业变现秘籍,某多/某手变现底层引擎-Stable Diffusion 黑白老照片上色修复

在这个时代,我们习惯于拥有高清、色彩丰富的照片,然而,那些古老的黑白色老照片由于年代的久远,往往会出现模糊、破损等现象。 那么今天要给大家介绍的是,用 Stable Diffusion 来修复老照片。 前段时间 ControlNet 的除了上线了“IP-Adapter”模型以外还增加另一个…...

第十三章总结

一.泛型 1.定义泛型类 泛型机制语法&#xff1a; 类名<T> 其中&#xff0c;T是泛型的名称&#xff0c;代表某一种类型。 【例13.6】创建带泛型的图书类 代码&#xff1a; 结果&#xff1a; 2.泛型的常规用法 (1)定义泛型类时声明多个变量 class MyClass<T1,T2…...

大模型应用_PrivateGPT

https://github.com/imartinez/privateGPT 1 功能 整体功能&#xff0c;想解决什么问题 搭建完整的 RAG 系统&#xff0c;与 FastGPT相比&#xff0c;界面比较简单。但是底层支持比较丰富&#xff0c;可用于知识库的完全本地部署&#xff0c;包含大模型和向量库。适用于保密级…...

[Android] ubuntu虚拟机上搭建 Waydroid 环境

1.安装虚拟机 略 2.安装waydroid Ubuntu/Debian and derivatives For Droidian and Ubuntu Touch, skip directly to the last step Install pre-requisites sudo apt install curl ca-certificates -y Add the official repository curl https://repo.waydro.id | sudo…...

LeedCode刷题---滑动窗口问题(二)

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、将X减到0的最小操作数 题目链接&#xff1a;将 x 减到 0 的最小操作数 题目描述 给你一个整数数组 nums 和一个整数 x 。每一…...

pycharm依赖管理(不要用pip freeze)

在使用python虚拟环境时&#xff0c;可以使用requirements.txt来管理当前项目的依赖。 注意&#xff0c;不要用 pip freeze > requirements.txt 这个命令&#xff0c;因为它会引入很多无关的包。 可以使用 pipreqs ./ --encodingutf-8 ./ 表示当前项目的目录&#xff0…...

[Kafka 常见面试题]如何保证消息的不重复不丢失

文章目录 Kafka1. Kafka如何保证不丢失消息&#xff1f;生产者数据的不丢失消费者数据的不丢失Kafka集群中的broker的数据不丢失 2. Kafka中的消息是否会丢失和重复消费&#xff1f;1. 消息发送2. 消息消费 3. Kafka 的设计是什么样的呢&#xff1f;4. 数据传输的事务定义有哪三…...

Java中System.setProperty()用法

Java中System.setProperty()用法 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;让我们一起深入了解Java中的System.setProperty()方法&#xff0c…...

Eclipse 自动生成注解,如果是IDEA可以参考编译器自带模版进行修改

IDEA添加自动注解 左上角选择 File -> Settings -> Editor -> File and Code Templates&#xff1b; 1、添加class文件自动注解&#xff1a; ​/*** <b>Function: </b> todo* program: ${NAME}* Package: ${PACKAGE_NAME}* author: Jerry* date: ${YEA…...

微信小程序vant安装使用过程中遇到无法构建npm的问题

官网地址&#xff0c;然而如果完全按照这个教程来&#xff0c;实际上是缺少步骤的&#xff0c;需要补充一些步骤&#xff08;参考https://www.bilibili.com/video/BV1vL41127Er&#xff09; # 这步init就是补充的 npm init npm i vant/weapp -S --production# 剩下的按照vant的…...

[python]用python获取EXCEL文件内容并保存到DBC

目录 关键词平台说明背景所需库实现过程方法1.1.安装相关库2.代码实现 关键词 python、excel、DBC、openpyxl 平台说明 项目Valuepython版本3.6 背景 在搭建自动化测试平台的时候经常会提取DBC文件中的信息并保存为excel或者其他文件格式&#xff0c;用于自动化测试。本文…...

Spring Boot 如何配置 log4j2

Log4j2 介绍 Spring Boot 中默认使用 Logback 作为日志框架&#xff0c;接下来我们将学习如何在 Spring Boot 中集成与配置 Log4j2。在配置之前&#xff0c;我们需要知道的是 Log4j2 是 Log4j 的升级版&#xff0c;它在 Log4j 的基础上做了诸多改进&#xff1a; 异步日志&…...

如何安装docker

安装Docker的步骤取决于您使用的操作系统。以下是常见操作系统上安装Docker的基本步骤&#xff1a; 对于Linux: 更新软件包索引&#xff1a; sudo apt-get update安装允许apt通过HTTPS使用仓库的包&#xff1a; sudo apt-get install apt-transport-https ca-certificates cur…...

Linux 之 性能优化

uptime $ uptime -p up 1 week, 1 day, 21 hours, 27 minutes$ uptime12:04:11 up 8 days, 21:27, 1 user, load average: 0.54, 0.32, 0.23“12:04:11” 表示当前时间“up 8 days, 21:27,” 表示运行了多长时间“load average: 0.54, 0.32, 0.23”“1 user” 表示 正在登录…...

用Go汇编实现一个快速排序算法

本代码全网首发&#xff0c;使用Go plan9 windows arm64汇编&#xff0c;实现基础版快速排序算法。 未引入随机因子的快速排序的普通Go代码长这样。 func QuickSort(arr []int) {if len(arr) < 1 {return}base, l, r : arr[0], 0, len(arr)-1for i : 1; i < r; {if arr…...

Spring-整合MyBatis

依赖 <dependencies><!--提供数据源--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.1.9.RELEASE</version></dependency><!--提供sqlSessionFactory…...

嵌入式开发中的静态代码分析工具与应用

嵌入式代码静态分析工具深度解析1. 静态代码分析技术概述1.1 传统编译器的局限性标准C语言编译器通常只能检测代码中的语法错误和部分潜在缺陷&#xff0c;对于程序架构设计和逻辑层面的问题往往无能为力。这种局限性在嵌入式开发中尤为明显&#xff0c;因为嵌入式系统对代码质…...

AutoSar标准文档下载全攻略:从官网入口到模块选择(附命名规则解析)

AutoSar标准文档高效获取与深度解析指南 引言 在汽车电子系统开发领域&#xff0c;AutoSar标准已经成为行业公认的架构规范。无论是ECU开发工程师、系统架构师还是测试验证人员&#xff0c;都需要频繁查阅AutoSar官方文档。然而&#xff0c;面对庞大的文档体系和复杂的命名规则…...

so-vits-svc声压级标准化技术解析:从原理到实践的7个关键维度

so-vits-svc声压级标准化技术解析&#xff1a;从原理到实践的7个关键维度 【免费下载链接】so-vits-svc SoftVC VITS Singing Voice Conversion 项目地址: https://gitcode.com/gh_mirrors/so/so-vits-svc 声压级标准化是so-vits-svc&#xff08;SoftVC VITS Singing Vo…...

YOLOv11分割模型实战:从预测到训练,我的完整避坑与调优记录

YOLOv11分割模型实战&#xff1a;从预测到训练&#xff0c;我的完整避坑与调优记录 第一次接触YOLOv11分割任务时&#xff0c;我本以为会像使用常规检测模型那样顺利。直到实际跑通整个流程才发现&#xff0c;从环境配置到训练调优&#xff0c;每个环节都藏着意想不到的"坑…...

终极指南:如何在Windows电脑上直接安装Android应用

终极指南&#xff1a;如何在Windows电脑上直接安装Android应用 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer APK Installer是一款专为Windows系统设计的Android应用安…...

AI 辅助开发实战:基于低代码与智能生成的五金店管理系统毕设架构设计

最近在帮学弟学妹们看毕业设计&#xff0c;发现“五金店管理系统”是个高频选题。但很多人做着做着就陷入了“增删改查”的泥潭&#xff0c;前端界面简陋&#xff0c;业务逻辑也写得七零八落&#xff0c;最后答辩时演示效果平平&#xff0c;技术深度更是无从谈起。这让我开始思…...

2026最新Java金三银四面试参考指南公开!

想必有很多小伙伴这会已经在为金三银四面试跳槽做准备了。临近面试肯定是要想办法提升自己的面试能力&#xff0c;这个时候如果还去一昧地提升自己的代码能力对面试是毫无帮助的。大多数人在面试的时候都会遇到以下几种情况&#xff08;大家可以看看自己中了几个&#xff09;&a…...

自然滚动的终结:Scroll Reverser如何重构输入设备交互逻辑

自然滚动的终结&#xff1a;Scroll Reverser如何重构输入设备交互逻辑 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 在追求无缝人机交互的今天&#xff0c;macOS系统中输入设备…...

Claude Code 工程化实战:从工具使用者到 Agent 构建者的进阶之路

Claude Code 工程化实战&#xff1a;从工具使用者到 Agent 构建者的进阶之路 声明&#xff1a; &#x1f4dd; 作者&#xff1a;甜城瑞庄的核桃&#xff08;ZMJ&#xff09; 原创学习笔记&#xff0c;欢迎分享&#xff0c;但请保留作者信息及原文链接哦&#xff5e; 摘要&#…...

MCP 测试文章 1774508531523

这是一篇来自 MCP Server 的测试文章 测试正常工作&#xff01;...