- 集合的遍历
- Set和List的遍历
- for循环遍历(foreach)
- for(int i = 0; i < list.size(); i++) {
- list.get(i);
- }
- for(int i = 0; i < list.size(); i++) {
- 迭代器 Iterator
- 常用的方法
- next() 获取下一个元素
- hasNext() 判断是否还有下一个,如果有,返回true,如果没有,返回false
- remove() 删除next()返回的元素
- 常用的方法
- for循环遍历(foreach)
- Map集合的遍历
- 一般是遍历map中所有的key,通过key来遍历value
- 首先,通过map中的keySet()方法获取map中的所有的key组成的set集合,然后遍历set中的key,来遍历value
- Set和List的遍历
- Collection工具类
- Collection集合的工具类,提供了一些父类Collection接口的static方法。
- Object max(Collection c) 返回集合c中的最大的元素(元素必须是可比较大小的)
- Object min(Collection c) 返回集合c中最小的元素
- void reverse(Collection c) 将c中的元素逆序
- void copy(dest,src) 将集合src中的元素赋值到dest中
- sort(list) 对list进行排序。
- Collection集合的工具类,提供了一些父类Collection接口的static方法。
- 泛型(了解)
- 将类型给参数化。即将数据类型指定为一个参数,使用时,必须传入具体的参数类型,然后再使用。
- 定义泛型的变量时,一般在<>中,使用大写的单个字母表示泛型。E,K,V,T,U,S表示泛型。
- 方式
- 泛型类
- 泛型接口
- 泛型方法
- 将类型给参数化。即将数据类型指定为一个参数,使用时,必须传入具体的参数类型,然后再使用。
- 文件
- java中对于文件的处理,java.io.File类实现的
- 文件或者文件夹(目录)的管理
- 文件的属性
- 文件、目录的创建、删除等操作,但是不能读取文件的内容。
- File类的构造方法
- File file = new File(String path); //使用指定的路径名创建File对象。
- File file = new File(String parent,String child); 在指定的parent目录下新建child的文件
- File file = new File(File parent,String child);在parent对象的文件夹下,创建新child文件。
- 常用的成员方法
- boolean createNewFile(); 当file对象指定的文件不存在时,创建该文件,并返回true,否则返回false
- static File createTempFile(String prefix,String suffix); 在默认的临时文件夹下创建一个空文件,使用前缀和后缀
- boolean canRead() 是否可读
- boolean canWrite() 是否可写
- boolean canExecute() 是否可执行
- boolean delete() 删除文件
- getName() 获取文件名
- getAbsolutePath() 获取绝对路径
- getPath() 获取路径
- String[] list() 获取当前目录下的子文件和子文件夹的名字组成的字符串数组
- File[] lsitFiles() 获取当前目录下的子文件和子文件夹对象组成的File数组
- boolean mkdir() 创建目录,如果创建的目录的父目录不存在,在返回false。举例:file指向"c:/test/hello",如果,test文件夹不存在,则创建失败。
- boolean mkdirs() 创建目录,如果创建的目录的父目录不存在,在会先自动创建父目录,再创建子目录。
- boolean isFile() 判断File对象是否是文件
- boolean isDirectory() 判断File对象是否是文件夹(目录)
- 练习
- 1、在D盘下新建一个文件夹名为test。
- 2、在test文件夹下新建文本文档1.txt,2.txt,3.txt以及文件夹hello
- 3、在hello文件夹夹下新建文本文档4.txt,5.txt
- 4、封装一个静态方法,传入一个File对象,能够遍历其下的所有文件及文件夹的名称,包括子文件下的文件及文件,以及再深层次的文件夹中的。
-
package com.qut.day0311; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; public class FileDemo { public static void traverse(File file) { if(file.isFile()) { return; } else { File[] arr = file.listFiles(); for(int i = 0; i < arr.length; i++) { System.out.println(arr[i].getName()); traverse(arr[i]); } } } public static void main(String[] args) throws IOException { File file = new File("f:/test"); file.mkdir(); System.out.println(file.getAbsolutePath()); new File(file, "1.txt").createNewFile(); new File(file, "2.txt").createNewFile(); new File(file, "3.txt").createNewFile(); File file1 = new File(file, "hello"); file1.mkdir(); new File(file1, "4.txt").createNewFile(); new File(file1, "5.txt").createNewFile(); //Files.copy(Paths.get("F:/test/1.txt"), Paths.get("F:/test/7.txt")); traverse(file); } }
- NIO2
- jdk7及以后具有的操作文件的特性
- path对于目录的操作 Path Paths.get(String path) //返回字符串所指定的Path对象
- Files对于文件或者目录进行删除,移动、复制等操作的工具类。
- delete() 删除
- copy() 复制
- move() 转移
- java中对于文件的处理,java.io.File类实现的
- 数据流
- 用来表示一串连续不断地数据,称为数据流
- 按照留的方向分
- 输入流
- 输出流
- 按照处理的单位来分
- 字节流 以byte为单位,命名一般为XxxStream
- 字符流 以char为单位,命名一般为XxxReader或XxxWriter
- 按功能来分
- 节点流
- 处理流
- 继承关系
- InputStream
- 输入字节流的父类,子类一般叫做XxxInputStream
- OutputStream
- 输出字节流的父类,子类一般叫做XxxOutputStream
- Reader
- 输入字符流的父类,子类一般叫做XxxReader
- Writer
- 输出字符流的父类,子类一般叫做XxxWriter
- InputStream
- 字节输入流
- 常用的方法
- int read() 一次读取一个字节(byte)的数据,并且以int返回,如果没有数据可读,返回-1
- intread(byte[] buffer) 把读到的数据放到buffer数组中,返回int数,表示真正读到的byte个数
- int read(byte[] buffer,int offset, int len) 读取len个字节,然后存在数组buffer中,从offset的位置开始存。
- void close() 关闭流
- 常用的方法
- 字节输出流
- FileOutputStream out = new FileOutputStream(name,true);//第二个参数如果是true,表示在文件原有的内容之后追加,不覆盖原内容。如果是false,则先清除文件原有的内容,再写入内容。如果不写第二个参数,则默认为false。
- 常用方法
- void write(byte[] buffer) 将字节数组的内容写入到输出流中
- void write(byte buffer, int offset, int length) 将字节数组从offset开始,总共length个字节写到输出流中。
- void flush() 刷新输出流,将输出流中的数据写到文件中去。
- void close() 关闭流
- try-with-rescource
- jdk7的新特性,在使用流的时候,不需要开发者手动去关闭流,try-with-resource语法,可以系统自动关闭使用完的流。
- try(流资源的声明;){
- }catch(){
- }
- 按照留的方向分
- 用来表示一串连续不断地数据,称为数据流
第13天0311 集合的遍历 文件 数据流
最新推荐文章于 2021-02-26 08:40:41 发布