java学习day26---(双列集合Map/IO流概念)

一、双列集合

Map集合,元素都是键(key)值(value)对,键和值都是一一对应的

key作为唯一标识,不能合别的key冲突,value不受限制

key所在的类必须重写hashCode()

HashMap、LinkeHashMap、TreeMap

排序都是根据键来排序


Map集合的遍历

1.根据键找值

使用getSet()获得所有的键,放在Set集合中

遍历Set集合,在遍历时是用getValue()获取每一个值

        HashMap<String, Integer> HashMap = new HashMap<String, Integer>();
       HashMap.put("百年孤独",70);
       HashMap.put("战争与和平",90);
       HashMap.put("雾都孤儿",50);
       HashMap.put("双城记",60);
       Set<Map.Entry<String, Integer>> entries = HashMap.entrySet();
       System.out.println(HashMap);
       for (Map.Entry<String, Integer> entry : entries) {
           System.out.print(entry.getKey()+"\t");
           System.out.println(entry.getValue());
      }

2.将键和值都封装成对象,存储到Set集合中

Map.Entry 接口的实现类对象,就存储了键和值的获取方法

二、IO流

程序员能操作的最小单位是字节,byte

File类

专门用于描述磁盘路径的类

创建文件、删除文件、获取文件信息等


创建型方法:

1.创建文件:file.ceateNewFile();,不能创建目录,若文件没有后缀,就创建没有后缀的文件

File file=new File("D:\\IO_input\\abc.txt");
file.ceateNewFile();

2.创建文件夹:file.mkdir();

3.创建多级文件夹:file.mkdirs();


判断型方法:

1.是否存在此路径:exists()

2.是否是一个文件:isFile() //此路径存在才有意义

3.是否是一个文件夹:isDirectory() //此路径存在才有意义


绝对路径:从盘符开始的路径,就是绝对路径

相对路径:省略了盘符到项目的这一部分的路径,剩下的是相对路径

相对路径只在项目下的文件生效

在下载模块后,要复制到自己的项目下,不然相对路径是不对的


list()获取目录下的所有内容,返回一个字符数组

listFile()获取目录下所有内容,返回一个File对象数组

delete()删除文件或者一个空的目录

流的概念

数据进行传输的一个流动方向的过程

文件流又分字节流、字符流

字节流:以字节为单位进行操作的流对象,计算机中所有的数据都是以字节形式存储的磁盘上的,所有的文件都可以用字节流来操作

不能进行文件的展示,只能进行文件的复制

字符流:底层还是字节流,但是加上了一个编码集,就可以知道以什么编码集编码字节来展示,以字符为单位进行读写

有缓冲区,用来解码编码字节,读取文件到内存:

内存写入到别的文件:

字符流只能操作纯文本文件

  • 所有展示出来的文本和文件都由打开的程序做了解码,不然展示的都是字节

posted @ 2021-08-04 08:39  墨衣i  阅读(89)  评论(0)    收藏  举报