首页 > 编程语言 >Java - IO流

Java - IO流

时间:2024-08-09 14:43:09浏览次数:11  
标签:字符 Java 字节 IO 序列化 方法

(IO随用随创建,不用了就关流)

1.字节流

OutputStream(字节输出流,写出)

FileOutputStreanm

image
image
image

off表示起始索引,len表示截取长度
Windows换行符:"\r\n" Linux:"\n" Mac:"\r"
续写:创建对象第二个参数写true

字节打印流(特有方法会原样输出)


无缓冲区,自动刷新无用

InputStream(字节输入流,读取)

FileInputStreanm

image

编码、解码

image
image

字节缓冲流(效率高)

序列化流(对象操作输出流)、反序列化流(对象操作输入流)

  • ObjectOutputStream

  • ObjectInputStream

序列化流可以把Java中对象写到本地文件中,
反序列化流可以读取
细节:1.使用时JavaBean类需要实现标记型接口Serializable
2.因JavaBean类经常需要改动,故需要固定版本号private static final long serialVersionUID = ;
3.transient修饰的属性不会参与序列化
4.批量序列化、反序列化,可将对象存入ArrayList操作

2.字符流

Reader

FileReader

image
image

Writer

FileWriter

image
image
image

字符打印流


有缓冲区,自动刷新需要手动开启

字符缓冲流



方法常用,newLine可在Windows、Linux、Mac不同系统进行换行操作

转换流

  • InputStreamReader
  • OutputStreamWriter

作用:
1.JDK11以前用指定字符集读取数据
2.字节流想要使用字符流中方法,如readLine()

Commons-io工具包

使用步骤

常见方法


Hutool工具包

注意FileReader和FileWriter与java自带io包下方法重名,导包注意包名

标签:字符,Java,字节,IO,序列化,方法
From: https://www.cnblogs.com/through287/p/18341756

相关文章

  • 1.1javaSE初识
    JDK:JDK是JavaDevelopmentKit的缩写,意为Java语言的软件开发工具包(SDK)。它是Java编程的核心工具,为程序开发者提供了一个完整的开发环境。JRE:Java运行环境,是运行Java程序所必须的环境的集合,包含了JVM(Java虚拟机)和Java核心类库。Java开发工具:包括编译器(javac)、解释器(java)、调试......
  • Java SE核心技术——12常用类
    Java中的System类是Java标准库的一部分,它属于java.lang包,因此在使用时不需要显式地导入。这个类提供了一些与系统相关的功能,主要包括以下几个方面:标准输入输出:System.in:标准输入流,通常用于从键盘读取数据。System.out:标准输出流,用于向控制台打印信息。System.err:标准......
  • 多模态学习之论文阅读:《Multi-modal global- and local- feature interaction with at
    《Multi-modalglobal-andlocal-featureinteractionwithattention-basedmechanismfordiagnosisofAlzheimer’sdisease》-2024.9本文提出了一种新的多模态学习框架,用于提高阿尔茨海默病(Alzheimer'sdisease,AD)的诊断准确性。该框架旨在通过结合临床表格数据和大脑......
  • java实现用一个变量表示多个属性的状态
    1、流程启动及状态流转举例(场景:同一份数据在多个流程中流转,确定各流程自己的状态)1.发起流程核心代码/***二进制方式*@paramorgId*@paramnode*@paramcontractIds*/privatevoidstartWithPosition(StringorgId,Stringnode,List<String......
  • 【STM32】IO口取反 | 寄存器方式 | 异或运算符 | 原理
    目录STM32IO口取反|寄存器方式|异或运算符|原理1.引言2.GPIO基础知识2.1GPIO概述2.2STM32的GPIO架构2.3GPIO寄存器简介3.GPIO引脚取反原理3.1寄存器操作实现取反3.2异或运算符的应用4.示例代码4.1基础示例:LED闪烁4.2应用实例:继电器控制5.GPIO引脚......
  • Java入门学习——Day02Java工具
    一、Javac1.1Java1(1996年)        Java编译器 javac 在Java1.0版本中首次发布。它将Java源代码(.java 文件)编译成中间字节码(.class 文件)。这个字节码可以在Java虚拟机(JVM)上运行,实现了Java的“编写一次,处处运行”的理念。1.2Java2(1998年)        在Java......
  • LeetCode | 349 Intersection Of Two Arrays
    分析两个数组的交集,双指针使用的前提是,两个数组已经处于有序状态。双指针的本质是遍历;双指针在线性数据结构中,进行数据处理,每次只专注于两个元素;指针遍历将问题拆解为两部分,即已解决和待解决问题。倘若两个数组是无序的状态,双指针指向每次都无法确认是否在历史中已经出现过,这个时......
  • iOS开发基础149-由UUIDString引发的思考
    问题1:[[UIDevicecurrentDevice]identifierForVendor].UUIDString什么情况下值会变化?[[UIDevicecurrentDevice]identifierForVendor].UUIDString是一个用于标识设备的唯一标识符(UUID),针对同一应用程序供应商(即同一开发者的应用程序集合),在设备上不变。然而,有一些情况会导致这个......
  • Stable Diffusion 3震撼发布,采用Sora同源技术,文字终于不乱码了
    StableDiffusion3和Sora一样采用了diffusiontransformer架构。继OpenAI的Sora连续一周霸屏后,昨晚,生成式AI顶级技术公司StabilityAI也放了一个大招——StableDiffusion3。该公司表示,这是他们最强大的文生图模型。与之前的版本相比,StableDiffusion......
  • Stable Diffusion WebUI v1.10.0重大更新,支持SD3!
    Hello,大家好!前不久,SDWebUI的作者AUTOMATIC1111终于把它更新到了v1.10.0,这次不仅修复以往的一些BUG,提升了一些性能,这次还支持了SD3_medium.safetensors模型以及SD3_LoRA模型,同时还支持T5系列的encoder模型,让我们一起来看看这次更新了哪些内容。更新内容总共有87项更新:1.......