1:java操作文件
MultipartFile file
/File dest = new File(uploadFile+ “/”+fileName);
//判断文件父目录是否存在
if(!dest.getParentFile().exists()){
dest.getParentFile().mkdir();
}/
保存
file.transferTo(dest);
读取文件
Document document = null;
//读取上传到服务器的文件
document = reader.read(dest);
直接读取客户端上传过来的文件
document = reader.read(file.getInputStream());
2:java最重要的类 String字符串
- 字符串不可变 作为hashmap的键 线程安全
- 字符串常量池 String s1 = "aaa"和String s2 = “aa”;用==比较是返回true的,而new 出来的两个相同的字符串是不相等的,直接放堆里面了
- +和StringBuilder,都是字符串拼接,+的拼接也会转化为StringBuild,字符串拼接数少于4个的时候用+,多余4个用StringBuilder。
- concat()也是拼接
- intern()放缓存
- StringUtils字符串工具类 (是null安全的)
3:java中==
Integer q = 127;
Integer r = 127;
System.out.println(q == r); // true
q = 128;
r = 128;
System.out.println(q == r); // false
??因为Integer作为常量时,对于-128到127范围之间的数,Java会对其进行缓存,so使用如下做Integer类型得判断
System.out.println(q.intValue() == r.intValue());
System.out.println(q.compareTo(r) == 0);
4:关于异常
捕获异常是为了处理它,不要捕获了却什么都不处理而抛弃之,如果不想处理它,请将该异常抛给它的调用者。最外层的业务使用者,必须处理异常,将其转化为用户可以理解的内容。
5:java反射
- 用Java的反射功能, 可以很轻松的完成上面的要求:
- //第一步, 先把HelloWorld的类装载进来
- Class cls = Class.forName(“com.example.HelloWorld”);
- //第二步, 创建一个