1-集合里跟数组一样,都是有重复数据的
2-集合里的数据按照添加的先后顺序来排列的
Vector 线程安全但是性能比较低
1-集合里跟数组一样,都是有重复数据的
2-集合里的数据按照添加的先后顺序来排列的
Vector 线程安全但是性能比较低
字节流
InputStream
FileInputStream
BufferedInputStream
OutputStream
FileOutputStream
BufferedOutputStream
字符流
Reader
InputStreamReader
FileReader
BufferedReader
Wreter
read()方法:
字节流调用read方法返回的是字节个数。
字符流调用read方法返回的是单个字节。
GBK转UTF-8,然后再转回GBK,文件可能出错,最好不要,GBK或UTF-8遇到无法解析的字符时,会使用特殊的字符代替,因此造成原有字节信息的丢失,无法恢复。
方便理解:
int data = -1;
byte[] b = new byte[1024];
//创建一个数组来缓存input.read读到的字节,output.write从b数组中提取字节写入
while((i = input.read(b))!= -1){
output.write(b,0,i);
}
integer
缓冲区字节输出流;Byte
文件输入流 输出流:
需要关闭
FileInputStream input = new File();
input.close();
input.read();
字节流:
可以读取任何数据 InputSteam OutputStream
字符流:
读取字符
Collection(存放单个元素的):
可重复,有序
ArrayList
LinkedList
Vector
Set 不可重复,无序
Map(存放键值对的):
HashMap
Treemap
HashTable
map.keySet(){
}
不重复的,无序的,无法
泛型<Integer>
vector:
区别:线程是否安全 vector是安全的
Iterator 遍历器
iterator.next()
调用next方法之前一般先进行判断,判断是否有下一个元素
for(Object o : al){
System.out.println(o);
}
int[] array = new int[]
addalll 添加多条数据
集合类 ArrayList 一个容器
放东西的 可以放不同
File对象名.getName(); 获取文件名;
File对象名.getParent(); 获取父目录;
File对象名.lastModified; 获取文件修改如期;
File对象.lteng()
Flie对象名.getAbsolutePatn(); 绝对路径
Flie对象名.getPath(); 相对路径: