首页 > 编程语言 >十六,JAVA IO流

十六,JAVA IO流

时间:2023-12-25 09:02:09浏览次数:27  
标签:JAVA int list 十六 指定 read static IO List

// static <T> List<T>   emptyList()    
//           返回空的列表(不可变的)。    
// static <K,V> Map<K,V>   emptyMap()    
//           返回空的映射(不可变的)。    
// static <T> Set<T>   emptySet()    
//           返回空的 set(不可变的)。    
// static <T> boolean addAll(Collection<? super T> c, T... elements)    
// 将所有指定元素添加到指定 collection 中。    
List<String> list = new ArrayList<>();
list.add("ddd");  
list.add("aaa");
list.add("bbb");  
list.add("ccc");    Collections.addAll(list,"eee","fff","ggg");  
// static <T> int binarySearch(List<?> list, T key)   // 使用二分搜索法搜索指定列表,以获得指定对象。    
// static <T> int binarySearch(List<?> list, T key, Comparator<? > c)  
// 使用二分搜索法搜索指定列表,以获得指定对象。   Collections.sort(list);
int index = Collections.binarySearch(list, "ddd");  
// static <T> void copy(List<? super T> dest, List<? extends T> src)  
// 将所有元素从一个列表复制到另一个列表。  
List<String> list1 = new ArrayList<>();
Collections.addAll(list1, "111", "222", "333");
Collections.copy(list, list1);// 替换    
// static <T> void fill(List<? super T> list, T obj)   // 使用指定元素替换指定列表中的所有元素。
Collections.fill(list1, "000");   System.out.println("list1 ====== " + list1);  
// static int indexOfSubList(List<?> source, List<?> target)  
// static int lastIndexOfSubList(List<?> source, List<?> target)    
list.addAll(list1);    
int index1 = Collections.indexOfSubList(list, list1);    // 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)    
String min = Collections.min(list);
String max = Collections.max(list);    
// static <T> boolean replaceAll(List<T> list, T oldVal, T newVal)    
// 使用另一个值替换列表中出现的所有某一指定值。  
boolean xyz = Collections.replaceAll(list1, "000", "xyz");    
// static void reverse(List<?> list)    
// 反转指定列表中元素的顺序。    
Collections.reverse(list1);    
// void shuffle(List<?> list) 类似洗牌    
// 使用默认随机源对指定列表进行置换。   Collections.shuffle(list1);    
// static <T extends Comparable<? super T>> void sort(List<T> list)    
// 根据元素的自然顺序 对指定列表按升序进行排序。    
// static <T> void   sort(List<T> list, Comparator<? super T> c)    
// static void swap(List<?> list, int i, int j)    
// 在指定列表的指定位置处交换元素。  
Collections.swap(list1, 0, list1.size() - 1);    
// 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 : 此抽象类是表示输出字节流的所有类的超类。

  • ileNotFoundException : 输出流抛出该异常的条件 : 1.文件不存在,且指定位置不可创建 2.文件存在,但不可用3.指定目录不存在

  • 文件位置 :

    • 绝对路径 : F:/aa/a.txt

      • new File("F:/aa").mkdir();// 在F盘创建aa目录

    • 相对路径 : Java程序中 IO流默认的相对路径 是从 当前项目工程名 开始计算的

      • new File("aa").mkdir();

  • // 输出流在创建对象时的三件事 : a.内存中创建流对象 b.查看指定文件是否存在,不存在就创建 c.将流对象和文件关联起来
    OutputStream outputStream = new FileOutputStream("a.txt");
    // void write(int b) 该函数只能写最右边的一个字节
    // 将指定的字节写入此输出流。
    outputStream.write('A');outputStream.write(101);
    // void write(byte[] b)
    // 将 b.length 个字节从指定的 byte 数组写入此输出流。
    byte[] bytes = "华夏ABC".getBytes();outputStream.write(bytes);
    System.out.println(Arrays.toString(bytes));
    // void write(byte[] b, int off, int len)
    // 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。
    outputStream.write(bytes, 4, 5);
    // void flush()   缓冲流刷新缓冲区使用// 刷新此输出流并强制写出所有缓冲的输出字节。
    outputStream.flush();
    //   void close() 1.就是将内存流对象和文件解绑 2.具备 flush() 函数的功能
    //   关闭此输出流并释放与此流有关的所有系统资源。
    outputStream.close();
  • InputStream : 此抽象类是表示字节输入流的所有类的超类。

  • FileInputStream :FileNotFoundException : 输入流中,文件不存在直接抛异常

  • InputStream inputStream = new FileInputStream("a.txt");
    // int read() 如果已到达文件末尾,则返回 -1。
    // 从此输入流中读取一个数据字节。
    int read = inputStream.read();
    System.out.println("read = " + read);
    read = inputStream.read();
    System.out.println("read = " + read);
    read = inputStream.read();
    System.out.println("read = " + read);
    // int read(byte[] b) : 返回值是读取到的数据的长度
    // 从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。
    byte[] bytes = new byte[10];
    System.out.println("Arrays.toString(bytes) = " + Arrays.toString(bytes));
    int len = inputStream.read(bytes);
    System.out.println("len = " + len);
    System.out.println("Arrays.toString(bytes) = " + Arrays.toString(bytes));
    len = inputStream.read(bytes);
    System.out.println("len = " + len);
    System.out.println("Arrays.toString(bytes) = " + Arrays.toString(bytes));
    // int read(byte[] b, int off, int len)
    // void close()
    // 关闭此文件输入流并释放与此流有关的所有系统资源。
    inputStream.close();
  • NotSerializableException : 未序列化异常

  • // 缓冲流 :
    // BufferedInputStream// BufferedOutputStream
    // 文件拷贝
    // fileCopy("C:\\Users\\guanh\\Desktop/file.txt", "x.txt");
    fileCopy2("C:\\Users\\guanh\\Desktop/file.txt","y.txt");

标签:JAVA,int,list,十六,指定,read,static,IO,List
From: https://www.cnblogs.com/tonnpo/p/17925238.html

相关文章

  • kettle从入门到精通 第二十六课 再谈 kettle Transformation executor
     1、前面文章有学习过Transformationexecutor ,但后来测试kettle性能的时候遇到了很大的问题,此步骤的处理性能太慢,导致内存溢出等问题。所以再次一起学习下此步骤的用法。 2、 如下图中rds-sametable-同步逻辑处理使用的是Transformationexecutor步骤,最后Speed列表示处理速......
  • Java基础-Spring篇
    Spring框架的七大模块SpringCore:框架的最基础部分,提供IoC容器,对bean进行管理。SpringContext:继承BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件、国际化等功能。SpringDAO:提供了JDBC的抽象层,还提供了声明性事务管理方法。SpringORM:提供了JPA、JDO、Hibernate......
  • 无涯教程-PostgreSQL - Unions(联合语句)
    PostgreSQLUNION用于合并两个或多个SELECT语句的输出,而不返回任何重复的行。要使用UNION,每个SELECT必须具有相同数量的选定列,相同数量的列表达式,相同数据类型,并且具有相同的顺序,但它们的长度不必相同。Unions-语法UNION的基本语法如下:SELECTcolumn1[,column2]FR......
  • Java静态类
    在Java中,静态类是一种特殊的类,它不能被实例化。静态类主要用于工具类或实现某些特定功能,例如工厂模式中的工厂类。要声明一个静态类,可以使用static关键字,如下所示:java复制代码publicstaticclassStaticClass{//静态类的成员和方法}静态类的特点如下:不能被实......
  • Apache Commons IO: 简化文件和IO操作
    第1章:引言咱们在做Java编程的时候,经常会遇到各种文件操作和输入输出(IO)的问题。不论是读取一个配置文件,还是把数据写入日志,这些看似简单的任务有时候会让人头疼。传统的JavaIO操作,虽然功能强大,但往往代码冗长,而且容易出错。这时候,ApacheCommonsIO库就像一股清泉,为咱们简化这些......
  • java基础语法api之随机数的介绍以及案例应用
    一:概述在实际开发应用中,我们都会看到,有许多的场景中需要使用到随机不确定的数。在这时,我们就需要用到API中的Random类。二:具体说明<1>JDK_API帮助文档中的说明Random:-该类的实例用于生成随机数构造方法:-Random():创建一个新的随机数生成器成员方法-intnextInt(intbound):获......
  • Spring Boot学习随笔- 第一个Thymeleaf应用(基础语法th:,request、session作用域取值)
    学习视频:【编程不良人】2021年SpringBoot最新最全教程第十五章、ThymeleafThymeleaf是一种现代化的服务器端Java模板引擎,专门用于Web和独立环境。Thymeleaf在有网络和无网络的环境下皆可运行,即可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页......
  • JavaWebDay4
    一:maven什么是maven:maven是apache旗下的一个开源项目,是一款用于管理和构建Java项目的工具maven的作用:MAVEN项目的目录配置maven的环境的两种方法 导入meaven所写的exclusion应该在不想间接依赖的外面级写,比如a依赖b,b依赖c,那么不想要c的时候则在写依赖b的后面写ex......
  • spring:Exception in thread "main" java.lang.NoClassDefFoundError: org/springframe
     设置了父类框架<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.10.RELEASE</version><relativePath/><!--l......
  • JavaScript(JS) 数组
    ​ JavaScript数组是一个可变长度的对象,用于存储多个值。数组的值可以是任何类型,包括数字、字符串、对象、函数等。参考文档:JavaScript(JS)数组-CJavaPy1、创建数组可以使用以下方式创建数组:使用方括号[]来创建一个空数组:JavaScriptconstarr=[]; 使用 A......