第十九天 Collections Arrays IO
1. Collections工具类,提供的方法,全部静态,直接类名调用
专门操作集合的工具类
static void Collections.sort(List list)集合排序
static void sort(List<T> list, Comparator<? super T> c)
static <T> Comparator<T> reverseOrder()
返回值是一个比较器,逆转了实现Compatable接口的自然顺序
Collections.reverseOrder(比较器),逆转比较器
static void fill(集合,数据(Object)),集合中的元素都被填充了
static int binarySearch(集合,查找的对象)
查找到了,返回下标
找不到,返回 -(插入点)-1 -(3)-1
2. Collection接口
toArray(),将集合转成数组List有Set有
3. Arrays工具类
数组转集合
Arrays.asList
改变集合的长度,增加,删除
4. JDK1.5后的新特性,增强型for循环
格式:
for(数据类型 变量 : 数组或者是集合){
sop(变量);
}
5. 可变参数
格式:
修饰符 返回值类型 方法名(参数类型...参数名){
return
}
6. IO技术 Input Output
在java语言中,提供我们可以操作本地,或者远程的文件,或者是目录
读,写,创建,删除,修改 针对于文件的操作,使用IO技术,实现网络传输
按照流向分
输出流(写 Write)
输入流(读 Reader)
按照操作的文件类型分
字符流(流自带编码表 GBK)
操作文本文件(记事本可以打开的)
字符输出流(写) abstract class Writer
字符输入流(读) abstract class Reader
字节流
全能
字节输出流(写) abstract class OutputStream
字节输入流(读) abstract class InputStream
7. 字符流 Writer
构造方法(路径文件名)
writer(写入数据)
flush()刷新
close()关流
构造方法(路径文件名,true)向文件中,追加写入
8. IO流的专业异常处理方法 *****
9. BufferedWriter
字符流的缓冲区对象,提供给字符流的高效写入
构造方法 BufferedWriter(Writer out)
(Writer out)参数中,传递的是字符输出流对象
BufferedWriter对象,需要传递一个字符输出流对象,它会对这个字符输出流对象,进行高效写入
newLine()写入一个行分隔符,跨平台性
10. 字符的输入流Reader,FileReader
int read()
返回字符的ASCII吗,并且,一个一个的往下读
读到文件末尾的时候,返回-1
int read(字符数组),读取的效率高
11. BufferedReader
字符流的缓冲区对象,提供字符流的高效读取
构造方法,接收的参数是字符读取流对象
readLine()读取一行,返回值是String类型
读取到文件末尾的时候,返回null
返回的内容,是没有换行符号的,返回的都是有效的字符
12. 字符流读取二进制文件:
机器上存储的文件全部都是二进制存储在
如果读取到是负数,2个字节表示一个汉字,16个二进制位,去查GBK码表,乱码
正数,ASCII,1个字节表示了,8个二进制位,去查ASCII,乱码
字符流可以读取非文本文件,但是乱码
复制文件,文本文件使用字符流来进行,如果不是文本的能,字符流一样可以赋值,但是丢失数据
13. 字符流复制文本文件,保证有源文件
采用读写的方式复制
字符流对象,FileWriter 和 FileReader
读取流,封装源文件
输出流,封装目的文件
循环读取源文件
读一次,写一次
刷新缓冲区
关闭资源,这个流都要关闭资源