进行流操作要按步骤分析,附三个小例子
来源:互联网 发布:linux squid 透明代理 编辑:程序博客网 时间:2024/06/05 21:54
如何操作流对象,通过三个明确来完成。
1,明确源和目的。
源:输入流。InputStream Reader
目的:输出流。OutputStream Writer
2,操作的数据是否是纯文本。
是:字符流。
不是:字节流。
3,当体系明确后,在明确要使用哪个具体的对象。
通过设备来进行区分:
源设备:内存,硬盘。键盘
目的设备:内存,硬盘,控制台。
例子一、
import java.io.*;/* * 需求:将一个图片文件中数据存储到另一个文件中。 * 源:使用读取流。InputStream 或 Reader 是不是操作文本文件?不是!这时就可以选择InputStream体系明确设备:硬盘InputStream体系中可以操作文件的对象是 FileInputStream是否需要提高效率?是!BufferedInputStream目的:OutputStream或Writer是否是纯文本?不是!选择OutputStream体系设备:硬盘OutputStream体系中可以操作文件的对象FileOutputStream是否需要提高效率:是!BufferedOutputStream*/class Test1{public static void main(String[] a)throws IOException{BufferedInputStream br=new BufferedInputStream(new FileInputStream("D:\\javafile\\day19\\src\\a.jpg"));BufferedOutputStream bw=new BufferedOutputStream(new FileOutputStream("D:\\javafile\\day19\\src\\b.jpg"));int s=0;while((s=br.read())!=-1){bw.write(s);bw.flush();}br.close();bw.close();}}
例子二、
import java.io.*;/* *练习:将一个文本数据打印在控制台上源:InputStream或Reader是不是纯文本?是!Reader设备:硬盘需要提高效率吗?需要!BufferedReader目的:OutputStream或Writer是否是纯文本?是!Writer设备:控制台需要提高效率吗?需要。BufferedWriter bufw = new BufferedWriter(fw);*/ class Test2 { public static void main(String[] a)throws IOException { BufferedReader br=new BufferedReader(new FileReader("D:\\javafile\\day19\\src\\Test1.java")); BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out)); String s =null; while((s=br.readLine())!=null) { bw.write(s); bw.newLine(); bw.flush(); } br.close(); bw.close(); } }
例子三、
/* * 通过重新分配“标准”输入流和输出流来复制文件 * */ import java.io.*; class Test3 { public static void main(String[] a)throws IOException{ System.setIn(new FileInputStream("D:\\javafile\\day19\\src\\b.jpg"));//定义标准输入流为源文件 System.setOut(new PrintStream("D:\\javafile\\day19\\src\\c.jpg"));//定义标准输出流为目标文件BufferedInputStream br=new BufferedInputStream(System.in);BufferedOutputStream bw=new BufferedOutputStream(System.out);int s=0;while((s=br.read())!=-1){bw.write(s);bw.flush();}br.close();bw.close();} }
- 进行流操作要按步骤分析,附三个小例子
- PL/SQL 三个小例子
- JDBC操作小例子
- 文件操作小例子
- redux小例子分析
- PHP上传图片三个步骤详细分析
- PHP上传图片三个步骤详细分析
- PHP上传图片三个步骤详细分析
- Java 小例子:线程同步例子:三个学生取水
- JAVA 例子--输入三个整数,按由小到大的顺序进行排序
- Linux下Mondrian小例子测试步骤
- 讯飞识别步骤和小例子
- 线程同步的小例子(两个线程对一个List进行写操作)
- 在批处理中使用ping命令,一个小例子进行分析
- 三个位图操作函数的小程序
- C#文件操作小例子
- Map加锁操作小例子
- Android数据库操作小例子
- opencv 图像翻转、旋转
- 动态规划(2)01背包问题
- C++大数模板
- 理解android.intent.category.LAUNCHER 具体作用
- 智遥工作流中调用SAP基础数据
- 进行流操作要按步骤分析,附三个小例子
- android animation xml
- Eclipse设置背景颜色和字体大小
- get all interfaces
- MySQL解决主从延迟
- learn prolog now 4
- ORA-28001: the password has expired解决方法
- 启用第三方应用的Activity报java.lang.SecurityException: Permission Denial的解决
- doubango的一二