Java学习---6.常用的容器,流
1.java提供的容器的API位于java.util包内。
set:不可以重复,无序。List:可以重复,有顺序。map:键值对的映射方法。
Collection c=new ArrayList();
2.泛型:用到集合时使用泛型,在定义集合的时候定义集合的类型,。可以增强程序的可读性和稳定性。
3.流:Java流式输入/输出原理: 以Stream结尾的都是字节流,Reader和Writer是字符流
FlieReader 和FileWriter读的是字符。
4.缓冲流:对读写的数据提供缓冲的功能。
BufferedInputStream(InputStream in);//缓冲的是InputStream流
bis.mark(100);定位到100的位置,然后读十个字节,然后在通过bis.reset();重新回到原点。
BufferReader();从文件中读一行出来有readLine()方法.
BufferedWriter();可以换到下一行。
5.转换流:
1 try{ 2 OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("*.txt")); 3 osw.write("asdasdasd"); 4 System.out.println(osw.getEncoding()); 5 } 6 7 //FileOutputStream()只能以字节的形式写入文件 8 //OutputStreamWriter()可以以字符的形式写入 9 12 InputStreamReader isr = new InputStreamReader (System.in) 13 BufferedReader br=new BufferedReader (isr); 14 try{ 15 s=br.readLine();...... 16 17 } 18 19 //InputStreamReader () 20 阻塞式方法,tongbushi
6.数据流。
DataOutputStream dos 可以将double类型的数据直接写进去。
DataInputStream 可以将double类型的数据直接读出来。
先写进去的先读出来。
7.print流:属于输出流
println()方法不会抛出异常,有自动的flush功能。
ps是输出位置,通过System.setOut(ps);指定输出位置。
8.ObjectStream()
transient int k;//k是透明的,修饰的成员变量在序列化的时候不予考虑。
serializable接口:标记性的接口。
externalizable接口:有readExternal和writeExternal两个方法。