java-IO操作——使用字节流读写数据
来源:互联网 发布:正德福飞机模型淘宝 编辑:程序博客网 时间:2024/06/05 05:06
使用带有缓冲的字节读取BufferedInputStream、 BufferedOutputStream
package TestSream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;public class ReadByteStream { public static void main(String[] args) { try { //以Stream结尾的都是使用字节流 FileInputStream fis=new FileInputStream("Test.txt"); //只要 字节的数组数 不大于文件大小即可 byte input[]=new byte[40]; //使用字节数组读取 fis.read(input); //当数据写完后,一定要将输入输出流关闭,后开的先关闭,先开的后关闭 fis.close(); //创建字符集的时候默认使用当前的字符集作为解码方式,由于当前使用的字符集使用的是UTF-8,所以此时不会乱码 //如果此时指定字符集为GBK,那就会出现乱码new String(input,"GBK") String inputString=new String(input); System.out.println(inputString); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
使用FileOutputStream写入数据
package TestSream;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class ReadbyBufferedByteStream { public static void main(String[] args) { //此时要显示出带有缓冲的字节流效率,我们在项目下放进一个视频文件 try { //标准的字节流 FileInputStream fis=new FileInputStream("hello.qlv"); //把FileInputStream包装成带有缓冲的BufferedInputStream,为它指定一个输入流,也就是fis //默认BufferedInputStream bis=new BufferedInputStream(fos,20000); //此处可以指定缓冲区的大小,指定大小根据文件大小而定,但是要大于数组指定的大小 BufferedInputStream bis=new BufferedInputStream(fis,20000); FileOutputStream fos=new FileOutputStream("hello_new.qlv"); BufferedOutputStream bos=new BufferedOutputStream(fos); //每次读取2000个字节,大型文件对应的数组大一些,小型文件对应的小一些 byte input[]=new byte[2000]; int count=0; //1970年到现在当前时间做经过的毫秒数 //读取前记录时间 long before=System.currentTimeMillis(); while(bis.read(input)!=-1){ //每次读取的话网count+1 count++; bos.write(input); } bos.close(); fos.close(); bis.close(); fis.close(); //读取后再计算一次 System.out.println(System.currentTimeMillis()-before+"ms"); System.out.println("读取了 :"+count+"次"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}16ms读取了 :3905次
0 0
- java-IO操作——使用字节流读写数据
- java17.IO操作------使用字节流读写数据
- JAVA IO :使用带缓冲的字节流读写数据
- Java IO操作——字节流进行读写操作
- java-IO操作——使用带有缓冲的字符流读写数据
- java-IO操作-使用字符流读写数据
- java18.IO操作------使用带缓冲的字节流读写数据
- java IO总结之字节流操作文件读写
- java实现简单的IO字节流读写操作
- IO学习之使用字节流读写数据
- java 使用字节流读写数据
- IO流(字节流File读写操作)
- IO流--字节流的读写操作
- JAVA IO:使用字符流读写数据
- 使用字节流读写数据
- JAVA IO操作——字节流和字符流
- java——io流:字节流的操作
- java 文件IO字节流读写笔记
- 《深入浅出Node.js》学习笔记——(三)异步I/O
- c语言的数据类型在oc中的对应
- 从HttpServletRequest获取各种路径总结
- Python模块学习——optparse
- 最长的连续相同字符的字符串和最长连续不相同字符的子字符串问题
- java-IO操作——使用字节流读写数据
- 三种主流Web架构
- javaweb总结(4) - HTTP协议
- 解决JLINK v8 连接到电脑后显示无法识别的USB设备
- javac命令无法使用解决办法
- Base 128 Varints 编码
- 本公子今天开博
- mysql 异常解决
- Win10系统下MAVEN_HOME配置位置问题