在加密的时候可以拿着字节数据去异或一个数字,解密的时候再异或回来public static void main(String[] args) throws IOException {File file=new File("D:\\我的世界\\a1.txt");File file1=new File("D:\\我的世界\\a4.txt");decrypt(file,file1);}public static void encrypt(File file,File file1) throws IOException {if(file.isFile()){FileInputStream fis=new FileInputStream(file);FileOutputStream fos=new FileOutputStream(file1);int b;while ((b=fis.read())!=-1){fos.write(b^2);}fos.close();fis.close();}}public static void decrypt(File file,File file1) throws IOException {if(file.isFile()){FileInputStream fis=new FileInputStream(file1);FileOutputStream fos=new FileOutputStream(file);int b;while ((b=fis.read())!=-1){fos.write(b^2);}fos.close();fis.close();}}
第一种解法:
public static void main(String[] args) throws IOException {//读取数据FileReader fdr=new FileReader("D:\\我的世界\\b1.txt");StringBuilder sb=new StringBuilder();int ch;while ((ch=fdr.read())!=-1){sb.append((char)ch);}fdr.close();System.out.println(sb);//排序String str=sb.toString();String[] split = str.split("-");ArrayList
第二种解法:
public static void main(String[] args) throws IOException {//读取数据FileReader fdr=new FileReader("D:\\我的世界\\b1.txt");StringBuilder sb=new StringBuilder();int ch;while ((ch=fdr.read())!=-1){sb.append((char)ch);}fdr.close();System.out.println(sb);//排序String[] arr = sb.toString().split("-");Integer[] array = Arrays.stream(arr).map(new Function
高级流
所谓高级流,就是把基本流做了一个封装,额外添加了一些功能
缓冲流
缓冲流可以提高读写的效率
缓冲流的体系结构
上面的就表示缓冲区
字节缓冲流
除了构造方法(创建对象的时候)有所不同其他的使用基本都类似
提高效率的原理:
底层自带了长度8192的缓冲区提高性能
方法名说明
( is)
把基本流包装成高级流,提高读取数据性能
( os)
把基本流包装成高级流,提高读取数据性能
在底层,真正读写数据的还是缓冲流包装的基本流
public static void main(String[] args) throws IOException {//这里创建缓冲流对象后,使用的时候与基本流是一样的,BufferedInputStream bis=new BufferedInputStream(new FileInputStream("D:\\我的世界\\a1.txt"));BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("D:\\我的世界\\copy.txt"));int b;while((b=bis.read())!=-1){bos.write(b);}//这里释放资源时不用关闭基本流,直接关闭缓冲流就行//缓冲流关闭的时候会把基本流关上bos.close();bis.close();}
public static void main(String[] args) throws IOException {//这里创建缓冲流对象后,使用的时候与基本流是一样的,BufferedInputStream bis=new BufferedInputStream(new FileInputStream("D:\\我的世界\\a1.txt"));BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("D:\\我的世界\\copy1.txt"));byte[]bytes=new byte[1024];int len;while((len=bis.read(bytes))!=-1){bos.write(bytes,0,len);}//这里释放资源时不用关闭基本流,直接关闭缓冲流就行//缓冲流关闭的时候会把基本流关上bos.close();bis.close();}
- 央视春晚,我眼中的三宗“最” 中国之最节目串词
- 新闻特写拯救“巴斯”:吉尼斯纪录背后的“世界难题” 一 吉尼斯记录心情低落
- 这5种食物是隐藏的“热量炸弹”,小心吃完伤肝脏、毁血管、减寿命 吉尼斯记录热量炸弹
- 全世界“最顶级”的啤酒,却是一群和尚酿的!看完颠覆认知 吉尼斯记录的啤酒
- 视印度女子教育为“新鲜事”的环境下,塞兰坡差会建立的女子学校 吉尼斯记录印度学校
- 十二生肖:成龙的国际影响力能有多大?一部电影让法国归还文物 吉尼斯记录成龙
- 泰勒破纪录共获29座奖杯,身披粉红战袍热辣开唱,逆天长腿太吸睛 泰勒的吉尼斯记录
- 王者荣耀:真相了,排位赛真的段位越高越好打,因为低段位事真多 王者荣耀七大历史之最
- 欧洲杯巡礼之葡萄牙:C罗最后的倔强!卫冕冠军遭法德围剿 葡萄牙欧洲杯历史之最
- 盘点那些不符合发明者想法的发明,你知道几个? 坊子历史之最是谁发明的