`

javase_IO

 
阅读更多

一、字符流与字节流

字符流只能处理文字,字节流可以处理everything

 

二、字节流

1、输入流: InputStream  FileInputStream 必须确保文件存在   + BufferedInputStream

方法:

read()   :一个字节读取 ,返回的字符unicode码
read(byte[] b):一段一段读取,返回读取大小

2、输出流:OutputStream  FileOutputStream  文件不存在,内部创建  +BufferedOutputStream

方法:

write(int b) :一个字节写出
 write(byte[] b):一段写出,整个数组
 write(byte[] b, int off, int len)  :部分数组
 flush():强制刷新,避免最后的数据驻留在管道中
 close() : 关闭流,内部一定会flush()

 

三、字符流:只能读取纯文本,不能读取图片、doc等二进制文件

1、输入流:Reader  FileReader +BufferedReader

  read() :一个字符读取

      read(char[] cbuf) :一段一段读取,返回读取大小

      close() :关闭流

     新增方法: readLine()    不能使用多态

 

2、输出流:Writer FileWriter +BufferedWriter

FileWriter(路径|File对象[,追加标识false]) ps:追加标示符为true的时候,表示在文件原有的基础上继续添加。如果不写,那么表示在覆盖原有的东西

方法:

write(int c) :一个字符

append(char c) ps:传一个string类型也可以

write(char[] cbuf) :一段写出,整个数组

write(char[] cbuf, int off, int len) :部分数组

write(String str) :字符串

append(CharSequence csq) 

write(String str, int off, int len) :子串

append(CharSequence csq, int start, int end) 

 flush():强制刷新,避免最后的数据驻留在管道中

close() : 关闭流,内部一定会flush()

      新增方法: newLine() 换行符 \r\n    不能使用多态

 

四、转换流

转换流:字节流转为字符流:字节流通向字符流的桥梁.  可以指定字符集,编码与解码字符集

一、输入流:InputStreamReader

InputStreamReader(InputStream in, String charsetName)  :指定解码集

二、输出流:OuputStreamWriter

 OutputStreamWriter(OutputStream out, String charsetName) :指定编码集

 

五、小结



 

 

 六、节点流

1、输入流 ByteArrayInputStream   

方法:

read()

read(byte[] b, int off, int len) 

close()

2、输出流 ByteArrayOutputStream   

方法:

write(byte[] b, int off, int len) 

close()

toByteArray()ps:方法获取内存中存储的内容的地址

toString(String charsetName)  ps:将缓冲区内的数据装换成字符串,按照默认的编码方式

 

七、基本类型+String

1、输入流:DataInputStream

 方法:

         read(byte[] b) 

read(byte[] b, int off, int len)

readXxx()   数据类型

readUTF() 

 2、输出流:DataOutStream

方法:

write(byte[] b, int off, int len) 

write(int b) 

writeXxx()

writeUTF(String str)  不会读取换行符

flush()

close()

 必须先写出后读取,读取顺序与写出一致

 

八、序列化与反序列化

序列化:对象保存到文件

ObjectOutputStream +writeObject()。序列化的类必须实现java.io.Serializable接口

transient可以讲序列化的类透明

 

反序列化:

ObjectInputStream+readObject()

反序列化的方法必须使用object引用接受,在进行强制类型转化

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 79.9 KB
  • 大小: 147.7 KB
分享到:
评论

相关推荐

    VIP09_JavaSE_JavaIO_File_day0307-1.rar

    在"VIP09_JavaSE_JavaIO_File_day0307-1.rar"这个压缩包中,我们可以预想它包含的是一个关于Java IO和File类的课程或教程的第三天第七节的内容。下面,我们将深入探讨Java IO和File类的相关知识点。 1. **Java IO...

    JavaSE_4_JavaIO操作_3

    ### JavaSE中的IO操作——类层次与缓冲流 在Java标准版(JavaSE)中,I/O操作是处理文件和数据的重要方式之一。本篇主要介绍Java中的IO操作中的类层次结构以及缓冲流的使用。 #### 类层次结构 Java IO体系主要...

    JavaSE_JavaSE学习资料_

    这个编程资料包涵盖了JavaSE的学习资源,旨在帮助开发者掌握Java的基础知识、集合框架、IO流等关键概念。 首先,Java基础知识是学习JavaSE的起点。这包括了Java语法、数据类型、控制结构(如if语句、for循环、while...

    JavaSE_JDK_API_中文版

    JavaSE(Java Standard Edition)是Java编程语言的核心部分,用于开发和部署桌面应用程序。JDK(Java Development Kit)是Java编程的工具集,包含了编译器、运行环境、调试工具和API文档等必要组件。本资源"JavaSE_...

    JavaSE_01 源代码

    7. **IO流**:Java的IO流库提供了读写文件、网络通信等功能。初学者可以从源代码中了解如何使用InputStream和OutputStream进行数据的读写。 8. **集合框架**:Java集合框架包括ArrayList、LinkedList、HashSet、...

    JavaSE总结文档.rar

    JavaSE(Java Standard Edition)是Java编程语言的核心部分,它提供了编写桌面应用程序所需的基础类库。这份"JavaSE总结文档.rar"包含了一份个人在复习JavaSE时编写的笔记,覆盖了多个主题,旨在巩固和深化对Java...

    02-Java语言进阶_javase_

    Java语言进阶_javase_这部分的学习涵盖了Java标准版(Java SE)的高级特性,主要集中在类、流、文件操作和数据结构等多个方面。以下是对这些主题的详细解释: 1. **Object类**:所有Java类都直接或间接继承自Object...

    Core Java SE.zip_JavaSE_API_java文档

    2017版的Java SE API文档中,你会找到诸如`java.lang`、`java.util`、`java.io`、`java.net`等核心包的详细信息。 例如,`java.lang`包是最基础的包,包含了所有Java程序都必须使用的类,如`String`、`Object`和`...

    JavaSE_java基础_

    JavaSE,全称为Java Standard Edition,是Java编程语言的核心部分,主要用来开发桌面应用程序。它提供了丰富的类库和API,让开发者能够构建高效、可移植的软件。在JavaSE中,"基础"涵盖了许多关键概念,包括但不限于...

    JavaSE_JavaEE_JavaME_API.

    例如,`java.util`包提供了集合类如ArrayList和HashMap,`java.io`包支持文件操作和数据流,`java.nio`包引入了非阻塞I/O,`java.lang`包包含基本类型和对象的基类,如Object和String。这些API是所有Java程序的基础...

    JavaSE_Chaper11_Mark.pdf

    在JavaSE的学习中,了解Java中常用类的使用对于构建一个健壮的应用程序是至关重要的。本节主要介绍了一些核心的Java包和类,以及Java对象模型中的基础概念。接下来,我们将详细探讨这些知识点。 首先,让我们来看看...

    JavaSE_Demo

    5. **IO流**:Java的输入/输出流系统支持对文件、网络、内存和系统资源的数据读写。包括字节流、字符流、对象流以及缓冲流等。 6. **多线程**:Java提供Thread类和Runnable接口来支持并发编程。通过线程池、同步...

    javase_Socket仿QQ聊天室源码.zip

    使用Swing+javase中的socket、IO流、多线程等,实现的简单聊天室,可以群聊,也可以私聊。 使用Swing+javase中的socket、IO流、多线程等,实现的简单聊天室,可以群聊,也可以私聊。

    JavaSE文件IO流详解.pptx

    JavaSE文件IO流详解

    JavaSE 7 API DOC

    3. **NIO.2**:Java 7增强了非阻塞I/O(New IO)框架,引入了`java.nio.file`包,提供了文件系统操作的抽象,如路径处理、文件读写、文件观察者(WatchService)等。 4. **Try-with-resources**:这是一个新的异常...

    JavaSE6_API

    3. **I/O流**:JavaSE6_API的`java.io`包包含了输入输出流的处理,包括字符流和字节流,如`FileInputStream`、`FileOutputStream`、`BufferedReader`、`PrintWriter`等。此外,NIO(New IO)在Java 6中引入,提供了...

    JavaSe基于IO流的用户管理系统

    本项目"JavaSe基于IO流的用户管理系统"就是利用Java的IO流技术来处理文本数据,实现用户信息的存储与管理。这个系统尤其适合大学生作为大作业或课程设计的实践项目,因为它的设计既简单易懂,又包含了Java 8的新特性...

    JavaSE_note

    - 非运行时异常:通常是由于程序运行环境的问题导致的,如 IO 异常。 - **异常处理**: - 使用 try-catch 块来捕获并处理异常。 - 可以使用 finally 块来执行清理工作。 #### 八、实战案例分析 - **案例一**:...

Global site tag (gtag.js) - Google Analytics