黑马程序员——22,字节流InputStream,OutputStream,字节流缓冲区技术,BufferedInputStream,BufferedOutputStream
来源:互联网 发布:硕鼠for mac官网 编辑:程序博客网 时间:2024/05/10 13:24
------<ahref="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
黑马程序员——22,字节流InputStream,OutputStream,字节流缓冲区技术,BufferedInputStream,BufferedOutputStream
/*
字节流的相关讲解:
InputStream(读操作),OutputStream(写操作)
在用法上和之前的字符流差不多
*/
import java.io.*;class Ioliou13{ public static void main(String[] args)throws IOException { // method(); method1(); } public static void method()throws IOException { FileInputStream fis=new FileInputStream("f:\\yuyuyu.txt"); int i=0; char ch='0'; while((i=fis.read())!=-1) { ch=(char)i; soc(ch); /* 由于这里使用的是字节流对象操作, 此时这里能看到的只有数字和字母 */ } fis.close(); } public static void method1()throws IOException { FileInputStream fis=new FileInputStream("f:\\yuyuyu.txt"); int num=fis.available();//获得字节个数 soc("num="+num); byte[] b=new byte[3]; int i=0; //char ch =' '; while((i=fis.read(b))!=-1) { //ch=(char)i; soc(new String(b,0,b.length)); //这里就是按照字节数组b的字节打印出字符,所以不用强制类型转换 } fis.close(); } public static void method2()throws IOException { FileOutputStream fos=new FileOutputStream("f:\\yuyuyu.txt"); fos.write("kankan".getBytes()); //getBytes方法是String类自己的方法用于转变成字节 /* 字节写入流不存在flush方法,因为字节已经是最小操作对象, 字节写入流会直接写入文件。 */ fos.close(); } public static void soc(Object obj) { System.out.print(obj); }}
——————分割线——————
/*
复制图片:
选用字节流
思路:
1,字节读取流与目标相关联
2,字节写入流创建图片文件
3,循环读写
4,关闭资源
*/
import java.io.*;class Ioliou14{ public static void main(String[] args) { method2(); } public static void method() { FileInputStream fis=null; FileOutputStream fos=null; try { fis=new FileInputStream("f:\\无标题23.png"); fos=new FileOutputStream("f:\\无标题23_copy.png"); byte[] b=new byte[1024]; int i=0; while((i=fis.read(b))!=-1) { fos.write(b,0,i); } } catch(IOException e) { throw new RuntimeException("复制图片出问题了"); } finally { try { fis.close(); } catch(IOException e) { throw new RuntimeException("fis.close();出问题了"); } try { fos.close(); } catch (IOException e2) { throw new RuntimeException("fos.close();出问题了"); } } } public static void method2() { FileInputStream fis=null; FileOutputStream fos=null; try { fis=new FileInputStream("f:\\转码的视频\\死亡地带01.mp4"); fos=new FileOutputStream("f:\\死亡地带01_copy.mp4"); byte[] b=new byte[1024]; int i=0; while((i=fis.read(b))!=-1) { fos.write(b,0,i); } } catch(IOException e) { throw new RuntimeException("复制出问题了"); } finally { try { fis.close(); } catch (IOException e) { throw new RuntimeException("fis.close();出问题了"); } try { fos.close(); } catch (IOException e2) { throw new RuntimeException("fos.close();出问题"); } } } public static void soc(Object obj) { System.out.println(obj); }}
——————分割线——————
/*
字节流也有自己的缓冲区技术:
BufferedInputStream
BufferedOutputStream
用法上和字符流差不多。
*/
import java.io.*;class Ioliou15{ public static void main(String[] args)throws IOException { long start=System.currentTimeMillis(); method(); long end=System.currentTimeMillis(); soc("time="+(end-start)); } public static void method()throws IOException { FileInputStream fis=new FileInputStream("f:\\无标题23.png"); FileOutputStream fos=new FileOutputStream("f:\\无标题23copy.png"); BufferedInputStream bis=new BufferedInputStream(fis); BufferedOutputStream bos=new BufferedOutputStream(fos); int i=0; while((i=bis.read())!=-1) { bos.write(i); //这里就直接把i扔进去就可以,方便多了 } bis.close(); bos.close(); } public static void soc(Object obj) { System.out.println(obj); }}
0 0
- 黑马程序员——22,字节流InputStream,OutputStream,字节流缓冲区技术,BufferedInputStream,BufferedOutputStream
- 黑马程序员_<<字节流(含子类)和字节缓冲流(InputStream,OutputStream,BufferedInputStream,BufferedOutputStream)>>
- 黑马程序员—Java IO流(InputStream、FileInputStream、OutputStream、FileOutputStream、字节流缓冲区)
- IO流--字节流缓冲区(BufferedOutputStream,BufferedInputStream)
- 黑马程序员——Java IO—字节流—BufferedInputStream和BufferedOutputStream
- 字节缓冲流BufferedInputStream,BufferedOutputStream
- 黑马程序员---IO流(字节流InputStream、OutputStream)
- 黑马程序员:Java基础总结----字节流&InputStream &OutputStream
- 黑马程序员:字节流的介绍:InputStream、OutputStream
- JAVA——字节流: InputStream /OutputStream
- 20 API-IO流(递归,IO流(字节流FileOutputStream,FileInputStream,字节缓冲区流BufferedOutputStream,BufferedInputStream
- IO<字节流>FileInputStream、FileOutputStream、BufferedInputStream、BufferedOutputStream
- 高效字节流bufferedinputstream和bufferedoutputstream
- IO流——(字节流)OutputStream和InputStream
- 字节输入流BufferedInputStream和字节输出流BufferedOutputStream
- Java精选笔记_IO流(字节流、InputStream、OutputStream、字节文件、缓冲区输入输出流)
- 黑马程序员—字节流、自定义缓冲区、异常信息处理
- IO流的字节流InputStream、OutputStream
- MARKDOWN编辑器的bug
- Java 代码检查工具
- Light Bulb
- 王俊凯撞脸86年某校校草 网友赞:帅了一个世纪
- DevExpress XPO 数据库 连接与展示
- 黑马程序员——22,字节流InputStream,OutputStream,字节流缓冲区技术,BufferedInputStream,BufferedOutputStream
- Tcl学习之-- 错误|异常
- UVA232 纵横字的解答
- 数据结构—二分查找
- mysql本地访问linux服务器,出现SQLSTATE[HY000] [1130] Host '127.0.0.1' is not allowed to connect to this
- 贾青深夜前往派出所报案严厉谴责不雅照事件
- C++学习
- 散列表的C语言实现-开放定址法
- 《爵迹》主演海报集合票房被看好郭敬明颜控造福粉丝