高级Java
1.集合框架。
(1)如果并不知道程序运行时会需要多少对象,或者需要更复杂方式储存对象—可以使用JAVA集合框架。
(2)java集合框架提供了一套性能优良,使用方便的接口和类,他位于java.util包中。
2.(父接口)Collection–
(子接口)1.list :接口储存一组不唯一,有序(插入顺序)的对象,可以重复里面的数值。
(1).(List)里面有俩个接口:ArrayLisr和LinkedList
ArrayList :长度可以变得数组,当读一组数组和随机访问时时候他的时候比较多。
LinkedList :对一组数据。插入或删除的时候用它比较多,不适合查询数组。··
2.----set :接口存储一组唯一无序的对象。可以乱放但是里面的值不可以重复。
HashSet是接口常用的实现类。Set存放着引用对象。
3。Map :接口一组存储健值对象,提供key到Value的映射,一对一对的出现时使用它。
Map里面的键是唯一的。Map 值可以一样的,可以重复的。
4.Collections 提供了对集合进行升序跟降序和求大小值,
Collections.sort 是集合排序。
枚举
java Api 是程序的编程接口常用的。java.lang java.util .
1。枚举指有一组固定的常量组成的类型。enum 枚举的关键字。
包装类
1包装类把基本类型数据转换为对象。
2.每个基本类型咋Java。lang包里都有一个包装类。
3.集合不须臾存放基本数据类型数据,存放数字时,要用包装类型。
4.Integer(int) Character(cha) 包装类的不同就这俩个。其余的基本类型首字母大写就OK了。
5。xxxCalue():包装类转换成基本类型。
6.String yy=Integer.toString(num); 基本类型转层字符串;
7.int ss=Integer.parseInt(s); 字符串转成基本类型;
8.string buffer 对字符串频繁需要改大大提高效率。
9 math.max 比较大小值。
10.Date date=new Date();表示系统时间的生成是,美版的。
SimpleDateformat 变量名=newSimpleDateFormat(“yyyy年.MM月dd日 HH:mm:ss”)
String now= 变量名.format(date);
流i/o
1.File类 创建文件夹对象。
File file = new File(“d:/java160.txt”);
try {
//如果文件存在则不会创建新的文件。
file.createNewFile();//创建文件,路径不正常会抛出异常。
} catch (IOException e) {
e.printStackTrace();
file.exists() 测试文件是否存在
file.isFile() 判断是否是文件
file.isDirectory() 判断是否是目录
file.getName() 获取文件或目录的名称
file.getPath() 获取文件或目录的路径
file.getAbsolutePath() 获取文件或目录的绝对路径
file.lastModified() 获取文件或目录的最后修改日期
file.lenght() 获取文件或目录的大小,单位为字节
file.createNewFile() 创建空文件不创建文件夹
file。mkdir() 创建目录。
2.读文件是输如流,写文件是输出流
输出流–》OutputStream和Writer作为基类。
按流向区分{
输入流–》inputStream和Reader作为基类。
字节流--《字节输入流inputStream基类
按照处理数据单元划分{ –《字节输出流OutputStream基类 字节流是8.字符流是16. 字符流是字节流的一倍。
字符流–<字符输入流Reader基类
–<字符输出流Writer基类
inputStream (是父类)类常用方法它是个抽象类。
int read(): 一个字节一个字节的读,返回该字节的整数表示形式。
int read(byte[]b) 从输入流读取若干字节,把这些字节保存到数组B中,返回的是读取袋的字节数,如果输入流读完了返回一个(-1)。
int read(byte[]b,int off.int len) off指的是数组中开始保存数据的起始下标,len是想读取的字节的数目。
void close() 读完的流要关掉的开关。
int available 可以从输入流中读取的字节数目
(1)字节输入流 是读取文件。
FileinputStream(是子类)常用的构造方法:
FileinputStream(File file)
fuleinputStream(String name)
(2)字节输出流 是写文件。
OutputStream(父类)
变量名. Write(int c) 一个一个字节碗里面写。
变量名. write(byte[] b)
变量名. write(byte[]b,int off.int len)
close()
flush() 强制将缓冲区清空。
FileOutputStream(子类)
FileOutputStream(File file)
FileOutputStream(String path)
FileOutputStream(String path,(true)):可以指定覆盖或最佳文件内容不被覆盖。
3.字符流 编码格式中国用GBk 和GB2314 全国全球通用的是uUTF-8
FileReader 无法指定编码格式,会按照文件系统默认编码格式读取。
System.out.println(System.getProperty(“file.encoding”)); 读取你的文件是什么格式的代码。
Reades=new InputStreamReader(): 可以指定编码格式,读出文件
(1)字符流(读)文本文件关键代码
FileReader 变量名=new FileReader("d:/java/666.txt")
BufferedReader 变量名=new BufferedReader(变量名)
(2)字符流(写)文本文件关键代码
FileWriter j=new FileWriter("d:/java/666.txt")
BufferedWriter h=new BufferedWriter(j)
bw.newLine(); 换行专用。
h.write 写入信息关键代码。
4.读写二进制文件
1.读取关键代码
FileInputStream yy= new FileInputStream(“d:/java/666.txt”)
DataInputStream bb=new DataInputStream(yy)
2.写关键代码
FileOutputStream yy=new FileOUtputStream(“d:/java/666.txt”)
DataOutputStream aa=new DataOutputStream(yy)
导入文件代码
int oo;
while((oo=bb.read())!=-1){//读取数据
aa.write(oo) //把读取的数据写到新的文本文档
}
5.序列化保存对象信息关键代码;
1.写入学生对象
buplic class Student implements java.io.Serializable 创建的学生类
ObjectOutputStream oos =new ObjectOutputStream(new fileOutputStream("c:/java/666.txt"));
Student yy=new Student("安娜",30,) //创建Student的学生对象
oos.writeObject(yy) //对象序列化,写入输出。
2.读取学生对象
ObjcetInputStream yy=new ObjcetInputStream(new FileInputStream("c:/java/666.txt"))
student oo=(Student)yy.readObject(); //反序列化进行强制类型转换。