【DAY15】Java第十五天I/O学习笔记

RandomAccessFile

--------------------

随机访问文件。

1.Object --> java.io.RandomAccessFile 它不流体系中的一员。

2.该对象中封装了字节流,同时还封装了一个缓冲区(字节数组),通过内部的指针来操作数组                中的数据。

3.实现接口:DataInput DataOuput

4.seek(int long);

定位下表

5.skipBytes(int bytes);

跳过字节数

6.getFilePointer();

获取当前指针的位置

7.在进行对象实例化时,必须要指定的该对象的操作模式“rw”"r"等

8.可以用于多线程的下载,也就是通过多线程往一个文件中同时存储数据覆盖。

对象流&串行化/序列化

--------------------

1.ObjectInputStream

2.ObjectOutputStream

3.可以通过这两个流对象直接操作已有对象,并将对象进行本地持久化存储。存储后的对象可以进行网络传输

4.Serializable该接口其实就是一个没有方法的标记接口,用于给类制定一个UID,该UID是用过类中的可序列号成员的数字签名运算得出来的一个Long型的值。

5.如果被序列化的对象需要被不同的类版本所兼容,可以在类中自定义UID。

定义方式: static final long serialVersionUID= xxxxxxxL

6.对应静态的成员变,不会被序列化。可以通过transient关键字修饰。

7.通常,这两个对象成对使用。

JavaBean实现串行化需要实现Serializable接口,标志性接口。

------------------------------------------------------

1.java.io.Serializable

2.标识行接口,没有任何方法。

3.JVM需要判定该接口做串行化处理。

4.对象的序列化是基于字节的,不能使用Reader和Writer等基于字符的层次结构

时间: 2024-10-10 23:54:33

【DAY15】Java第十五天I/O学习笔记的相关文章

java(第十五章)

第十五章 一.字符串类String 1.String是一个类,位于java.lang包中 2.创建一个字符串对象的2种方式: String 变量名="值"; String 对象名=new String("值"); 3.字符串的常用方法 3.1 字符串长度--length() 3.2 判断值是否相等 equals() 3.3 判断字符串对象地址是否相同 == 3.4 忽略 大小写 判断 equalsIgnoreCase() 3.5 大小写转换 toLowerCase(

Java之十五 JDBC编程

有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事.换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用.同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言"编写一次,处处运行"的优势. Java数

再回首Java第二十五天

流的分类按照流的流向来分,可以分为输入流和输出流?输入流:只能从中读取数据,不能向其写数据?输出流:只能向其写数据,不从能从中读数据 Java输入流主要有InputStream和Reader作为基类,Java输出流主要以OutputStream和Writer作为基类 字节流和字符流字节流和字符流的用法几乎完全一样,区别在于字节流和字符流所操作的数据单元不一样:字节流操作的最小数据单元是8位的字节,而字符流操作的最小数据单元是16位的字符 节点流和处理流可以从向一个特定的IO设备(如磁盘.网络)读

再回首Java第十五天

类的加载 当程序主动使用某个类是,如果该类还没有被加载到内存中,系统就会通过加载.链接.初始化三个步骤对该类进行初始化,如果没有意外,JVM就会完成这三个步骤,所以有时也把这三个步骤称为类的加载和类的初始化. 类的加载是指将类的class文件读入内存,并为之创建一个java.lang.Class对象,也就是说当程序中使用任何类时,系统都会为之创建一个java.lang.Class对象 类的加载由类的加载器完成,类加载器通常由JVM提供,这些类加载器是程序运行的基础,JVM提供的加载器其称为系统加

java(十五)

HTML 1.html是超文本标记语言的简写,是最基础的网页语言. 2.html是通过标签来定义的语言,代码都是由标签所组成. 3.html代码不用区分大小写. 4.html代码由<html>开始,</html>结束.里面由头部分<head></head>和体部分<body></body>组成. <html> <head> <title>这是一个网页的标题.</title> </h

初始JAVA第十五章String的总结

1 字符串的概述 2 1.什么是字符串:零个或多个字符组成的有限序列 3 2.如何使用字符串:(使用字符串分为两步) 4 1)定义并初始化字符串 5 2)使用字符,对字符串进行一些处理 6 // 穿件一个字符串 7 // 语法 8 String arhs = "abc"; 9 // 创建一个空的字符串 10 String string = new String(); 11 // 创建一个字符串对象Demo 12 String string = new String("Demo

Java基础十五

1 ArrayList类 1.1 ArrayList类概述 底层数据结构是数组,查询快,增加和删除慢. 线程不安全,效率高. 1.2 ArrayList的应用 示例: package com.xuweiwei; import java.util.ArrayList; import java.util.List; public class ArrayListDemo1 { public static void main(String[] args) { List<String> list = n

系统学习 Java IO (十五)----字符读写 Reader/Writer 其他子类

目录:系统学习 Java IO---- 目录,概览 跟踪行号的缓冲字符输入流 LineNumberReader LineNumberReader 类是一个 BufferedReader ,用于跟踪读取字符的行号.行号从 0 开始.每当 LineNumberReader 在包装的 Reader 返回的字符中遇到行终止符时,行号递增. 可以通过调用 getLineNumber() 方法获取当前行号,也可以通过调用 setLineNumber() 方法设置当前行号. 注意设置的行号不会改变实际的文件指

零基础入门学习java第十五节:对象的比较

这一篇主要讲讲对象的比较,什么是对象的比较,我们知道两个数值类型只需要用“==”符号即可进行相等判断,但如果是两个Goods对象呢?如何进行比较?这时候,我们的equals方法就派上用场了.equals方法是类的祖先Object类的另一个protected方法,既然是protected方法(能被同一个包里的所有类所访问, 能被该类的子类所访问,子类可以和父类不在一个包中),子类是可以直接访问的,但如果没有覆盖该方法,那么使用的只是Object的原始比较方法,return(this==obj) ,