`
翩跹吉吉
  • 浏览: 102106 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java IO流的操作

    博客分类:
  • Java
阅读更多

     在这一章我们将学习IO操作的学习,几乎所有的计算机语言都有IO的操作,而java也不例外,在java中IO的操作是以流的方法来描述的,也利于我们的理解和学习,把文件的传输当做流水般在两端流动,我们所要做的就是在两端架好管道!

 

     我们可以从三大类型去学习IO操作:字节流、字符流、对象流;

 

     在学习之前我们首先来看看下面的图解,请大家务必做到将图铭记于心:

 

 

 

 

     1.字节流(以stream结尾的类)---主要操作二进制文件

 

        常用的类:FileInputStream(文件输入流)、FileOutputStream(文件输出流)

 

        主要方法:read()、avaliable()、close()、write();

 

        下面给出一个边读边写的例子供大家学习:

 

package com.oo.IO;

import java.io.FileInputStream;
import java.io.FileOutputStream;

public class IOTest {
	
	public static final String fileDir = "src/123.txt"; //原始文件位置
	public static final String toDir = "d:/123.txt";    //文件将要拷贝到地址
	FileInputStream in = null;
	FileOutputStream out = null;
	
	/**
	 * 文件拷贝,从地址"src/123.txt"拷贝到"d:/123.txt"
	 * @throws Exception
	 */
	public void copyFile() throws Exception{
		
		in = new FileInputStream(fileDir);
		out = new FileOutputStream(toDir,true);
		
		byte[] bt = new byte[1024];
		int hasRead = 0;
		while((hasRead = in.read(bt,0,bt.length)) != -1){
			out.write(bt, 0, hasRead);
		}
		out.flush();
		out.close();
		in.close();
	}

	/**
	 * 测试
	 * @param args
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception {
		IOTest test = new IOTest();
		test.copyFile();
	}

}

 

 

 

 2.字符流(以er结尾的类)---主要操作文本文件

 

        常用的类:BufferedReader(字符输入流)、BufferedWriter(字符输出流)

 

        常用方法和字节流大致相同,有一个特殊的是在BufferedReader中有readLine()---读取一行文本。

 

 

3.对象流(以er结尾的类)---主要操作对象持久化(在还没有学习数据库之前)

 

        常用的类:ObjectInputStream(对象输入流)、ObjectOutputStream(对象输出流)

 

        常用方法和字节流大致相同,只是在输入和输出时之前的read()和write()变为readObject()和writeObject()。

 

         注意要操作的对象必须实现Serializable接口。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics