FileInputStream字节流只能读ASCII码文件,文件中有中文字符都不能用他读
序列化和反序列化
对象从内存写入磁盘的过程称为对象的持久化,也称为序列化
从磁盘中读取文件到内存还原为对象的过程称为反序列化
IO流有几种,流怎么分类 1.流按照方向分输入
输出
2.流按照传输单位字节
字符
3.java提供了四个基类4.字节流常用的有 文件 对象 二进制
5.字符流中常用的有 文件 一次读一行的缓冲流
【华为面试】找出最长字符串(包括第一二一样长同时输出) 解法一:暴力枚举解法二:滑动窗口 有回溯 无回溯package findLongString;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;public class Demo02 {
public static void main(String[] args) {
String s="abadac";
fing(s);
}
public static void fing(String str){
Setset = new TreeSet<>(); String result="";
int max=0;
HashMapmap=new HashMap<>();
System.out.println("length:"+str.length());
for (int i = 0; i < str.length(); i++) {
for (int j = i+1; j <=str.length() ; j++) {
set.add(str.substring(i,j));
}
}Iterator
iterator = set.iterator();
while (iterator.hasNext()){
TreeSetset1 = new TreeSet<>();
String next = iterator.next();
for (int i = 0; i < next.length(); i++) {
set1.add(String.valueOf(next.charAt(i)));
}
if (set1.size()==next.length()){
int len=next.length();
if (max<=len){
max=len;
result= next;
map.put(result,max);
}
}
}
int a=max;
map.forEach((k,v)->{
if (map.get(k)==a){
System.out.println(k);
}
});
System.out.println(max);
}
}
等我学会了再说。。。。。。。



