IO

发布时间 2023-12-25 01:10:22作者: Cyptals

static <T> int binarySearch(List<?> list, T key) 使用二分搜索法搜索指定列表,以获得指定对象。 static <T> int binarySearch(List<?> list, T key, Comparator<? > c) 使用二分搜索法搜索指定列表,以获得指定对象。 折半查找中 数组或集合要升序排列

static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll) 根据元素的自然顺序,返回给定 collection 的最大元素。 static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp) 根据指定比较器产生的顺序,返回给定 collection 的最大元素。 static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll) 根据元素的自然顺序 返回给定 collection 的最小元素。 static <T> T min(Collection<? extends T> coll, Comparator<? super T> comp)

 

static <T> boolean replaceAll(List<T> list, T oldVal, T newVal) 使用另一个值替换列表中出现的所有某一指定值。

 

static <T> Collection<T> synchronizedCollection(Collection<T> c) 返回指定 collection 支持的同步(线程安全的)collection。 static <T> List<T> synchronizedList(List<T> list) 返回指定列表支持的同步(线程安全的)列表。 static <K,V> Map<K,V> synchronizedMap(Map<K,V> m) 返回由指定映射支持的同步(线程安全的)映射。 static <T> Set<T> synchronizedSet(Set<T> s)

 

IO流 : 数据持久化 I : Input 输入 , 编写的程序读取数据到内存中 O : Output 输出 , 编写的程序将内存中的数据输出到其他地方(硬盘,用户端)

流向是相对于程序而言

按照操作数据的单位进行划分 : 字节流 一个字节一个字节操作 , 可以操作所有类型文件 Stream 结尾 字符流 一个字符一个字符操作 , 只能操作 文本文件(纯文字的文件) Reader/Writer 结尾

注意 : 电脑在存储数据时,是按字节存储,所有文件都是 字节

按功能 : 文件流 数据流 对象流 缓冲流 过滤流

 

将数据写入硬盘 : 输出流 : OutputStream : 此抽象类是表示输出字节流的所有类的超类。

FileNotFoundException : 输出流抛出该异常的条件 : 1.文件不存在,且指定位置不可创建 2.文件存在,但不可用3.指定目录不存在 文件位置 : 1.绝对路径 : F:/aa/a.txt new File("F:/aa").mkdir();// 在F盘创建aa目录 2.相对路径 : Java程序中 IO流默认的相对路径 是从 当前项目工程名 开始计算的 new File("aa").mkdir();

输出流在创建对象时的三件事 : a.内存中创建流对象 b.查看指定文件是否存在,不存在就创建 c.将流对象和文件关联起来

 

InputStream : 此抽象类是表示字节输入流的所有类的超类。 FileInputStream : FileNotFoundException : 输入流中,文件不存在直接抛异常

 

数据流 Data : 对基本数据类型进行操作 数据序列化 : 数据 ---> 字节 数据反序列化 : 字节 ---> 数据 基本数据类型 ---> 硬盘 读取 int 型的最大值 数据输入流 : DataInputStream