Java 流的基本讲解
来源:互联网 发布:医学软件下载 编辑:程序博客网 时间:2024/06/05 10:36
java io
流的分类:
根据数据类型:字节流,字符流
根据数据流向:输出流,输入流
区分字节流和字符流:
stream结尾都是字节流reader和writer结尾都是字符流字节流和字符流的内在区别1.读写单位不同2.处理对象不同(字节流可以出来图片,avi 等而字符流只能处理字符类型的数据)3.字节流在操作的时候本身是不会用到缓冲区的,而字符流在操作的时候下后是会用到缓冲区的,是通过缓冲区来操作文件字节流列子:字节流 常用的流: FileInputStream构造器:constructors:FileInputStream(File file);根据File对象打开一个文件的输入连接FileInputStream(String name);根据文件路径打开一个对应文件的输入连接用于对文件内容进行二进制读取,如视频、图片、声音等文本内ObjectInputStream构造器:ObjectInputStream(InputStream in);通过readObject方法反序列化出InputStream对应的对象readObject() ;读取基本数据类型,如readInt();BufferedInputStream构造器:BufferedInputStream(InputStream in) ;BufferedInputStream(InputStream in, int size)使用默认缓存大小BufferedInputStream(InputStream in, int size) ;使用特定缓存大小减少IO访问次数,一次读取多个字节的数据例子: fileinputstream //得到文件 File file = new File("d:/test.txt"); //创建一个字节流把文件放进去 FileInputStream in = new FileInputStream(file); //创建一个byte容器 byte[] bytew=new byte[1024]; //输出流到那个文件 FileOutputStream out = new FileOutputStream("F:/tetx.txt"); //把文件读入容器 while (in.read(bytew)!=-1) { //在容器中写入文件到指定位置 ut.write(bytew); //结束文件 out.flush(); } objectoutputstream //序列化 Student stu = new Student(); File file1 = new File("F:/test.txt"); FileOutputStream in1 = new FileOutputStream(file1); ObjectOutputStream obj = new ObjectOutputStream(in1); obj.writeObject(stu); obj.flush(); //反序列化 FileInputStream fis = new FileInputStream(file1); ObjectInputStream ois = new ObjectInputStream(fis); Student st1 = (Student) ois.readObject(); System.out.println("name = " + st1.show()); ois.close(); fis.close();BufferedInputStream Date d=null; long start=0L; long end=0L; SimpleDateFormat sdf= null; sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); start=System.currentTimeMillis(); d=new Date(); if(d!=null){ d.setTime(start); } System.out.println("开始时间"+sdf.format(d)); File f=new File("D:/360安全浏览器下载/t.zip"); FileInputStream input=new FileInputStream(f); FileOutputStream outss = new FileOutputStream("F:/aaa.zip"); // 指定文件带缓冲区的读取流且指定缓冲区大小为2KB BufferedInputStream bis=new BufferedInputStream(input,100*1024); BufferedOutputStream outs = new BufferedOutputStream(outss,100*1024); byte[] byteArray=new byte[1024]; while(bis.read(byteArray)!=-1){ outs.write(byteArray); } outs.flush(); end=System.currentTimeMillis(); d=new Date(); if(d!=null){ d.setTime(end); } System.out.println("程序执行的结束时间:"+sdf.format(d)); System.out.println(end-start);
字符流:常用的: filterwriter,filterreader 用来写入字符文件的便捷类。 inputstreamreader,outputstreamwriter 字符流的基本类 bufferedWriter,bufferedreader 字符流缓冲类例子: //读入文件到字符流中 FileReader fr = new FileReader(file); //创建一个容器 char[]ter = new char[103]; //把文件写到那里去 FileWriter fw = new FileWriter("f:/tet.txt"); //把文件读入到文件中再判断 while (fr.read(ter)!=-1) { fw.write(ter); } //结束 fw.flush();
0 0
- Java 流的基本讲解
- UIScrollable的基本讲解
- Java中数据库连接池基本工作原理的详细讲解
- Java语言基础键盘录入的基本格式讲解Scanner
- java基本数据类型详细讲解。
- ADB基本的命令讲解
- nginx最基本的讲解
- Datagrid组件的基本讲解
- 一些基本流的使用和线程讲解
- java 基本类型和常量讲解
- JAVA平台介绍和基本数据类型讲解
- Java 基本数据类型取值范围讲解
- Java基本类型和常量讲解
- Java IO 流的概括 图文讲解
- java异常的讲解
- java的平台讲解!
- java的讲解!
- java线程的讲解
- linux mount cmd
- jQuery 效果
- oc——内置类型
- [CentOS]64位系统中安装了32位程序软件:/lib/ld-linux.so.2: bad ELF interpreter解决
- nlp-形式语言与自动机-ch06-概率图模型
- Java 流的基本讲解
- LoadRunner--Analysis各项指标详解
- robot framework框架,get dictionary keys 关键字不能识别的问题
- Idea导入maven项目
- 集成友盟推送sdk3.1.0版本
- oc——nil Nil NULL NSNull
- 搭建nfs
- Eclipse常用快捷键
- Android中ViewGroup、View事件分发机制源码分析总结(雷惊风)