IO流操作
来源:互联网 发布:淘宝上哪家攒机好 编辑:程序博客网 时间:2024/06/05 12:44
一、IO流
1. IO流是用来处理设备之间的数据传输,java是通过流的方式完成对数据的传输。
2. 操作的基本规律
1>明确源和目的。
2>操作的数据是否是纯文本。
3>当体系明确后,明确要使用哪个具体的对象。
二、IO流结构
IO流
|---字节流
|--输入流抽象基类:InputStream
|--输出流抽象基类:Outputtream
|---字符流
|--输入流抽象基类:Reader
|--输出流抽象基类:Writer
注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。
例 :Reader的子类FileReader
Writer的子类FileWriter
FileReader程序示例:
package tan;import java.io.FileReader;public class FileReaderDemo {public static void main(String[] args) {FileReader fr=null;try {fr=new FileReader("demo.txt");//定义一个字符数组。用于存储读到字符。//该read(char[])返回的是读到字符个数。char buff[]=new char[100];int num=0;while((num=fr.read(buff))!=-1){System.out.println(new String(buff,0,num));}} catch (Exception e) {// TODO: handle exception}finally{try {fr.close();} catch (Exception e2) {// TODO: handle exception}}}}
小知识:
//传递一个true参数,代表不覆盖已有的文件。并在已有文件的末尾处进行数据续写。fw=new FileWriter("demo.txt",true);fw.write("tan zheng qiang");
程序示例1:字节流文件复制:利用循环一次一次的读,每读一次就输出一次,直到文件结束。
package tan;//1.导入io包 import java.io.*;public class Test {public static void main(String[] args) {FileInputStream fis=null;FileOutputStream fos=null;try{//2.生成代表输入流的对象fis=new FileInputStream("C:/Users/Administrator/workspace/IO流操作/from.txt");fos=new FileOutputStream("C:/Users/Administrator/workspace/IO流操作/to.txt");//3.生成一个字节数组byte buffer[] =new byte[1024];//4.调用输入流对象的read方法,返回数据的大小while(true){int temp=fis.read(buffer,0,buffer.length);if(temp==-1){break;}fos.write(buffer, 0, temp);}}catch(Exception e){System.out.println(e);}finally{try {//5.//关闭输入输出流fis.close();fos.close();} catch (Exception e) {System.out.println(e);}}}}
程序示例2:字符流的使用【文件复制】
//文件复制://1.导入io包//2.生成代表输入流的对象//3.生成一个字节数组//4.调用输入流对象的read方法,返回数据的大小//5.//关闭输入输出流package tan;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import javax.management.RuntimeErrorException;public class ReadFile {public static void main(String[] args) {FileReader fr = null;FileWriter fw = null;try {fr = new FileReader("C:/Users/Administrator/workspace1/20140727/src/tan/FileTest.java");fw = new FileWriter("to.txt");char buf[] = new char[1024];//第一种方式int len = 0;while ((len = fr.read(buf)) != -1) {fw.write(buf, 0, len);}System.out.println("文件复制成功!");//第二种方式//while(true){//int temp=fr.read(buf, 0, buf.length);//if(temp==-1){//break;//}//fw.write(buf, 0, temp);//}} catch (Exception e) {throw new RuntimeException("文件复制失败!");} finally {try {fr.close();fw.close();} catch (Exception e) {e.toString();}}}}// public void write(char[] cbuf, int off, int len) throwsIOException写入字符数组的某一部分。
0 0
- IO操作 流操作练习
- JAVA IO 流操作
- io流操作
- IO流操作
- Io流的操作。
- java io流操作
- java IO流操作
- js操作IO流
- IO流操作读写
- IO流操作规律
- IO流操作规
- IO流操作
- IO 流操作规律
- IO流操作规律
- Io流的操作
- java IO 流操作
- IO文件流操作
- IO流操作
- Cortex-M3 互联型总线图----查看外设挂载
- 深入JavaScript(三)之运行顺序
- 容易忽视但是功能灰常强大的Java API
- Android显示gif图片
- 我们最需要的是健康
- IO流操作
- 在Excel中让数字以文本的形式显示
- HDU 4885 —— TIANKENG’s travel(最短路)
- CreateThread、_beginthreadex和AfxBeginThread
- DS4000 / DS5000 中影响性能的因素有哪些
- sqlcipher的移植
- extjs练习(sencha architect)
- LeetCode-Evaluate Reverse Polish Notation
- __declspec(selectany)的作用