`
lcy0202
  • 浏览: 176453 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java IO流(一)----读写文件

阅读更多

IO体系:

输入/输出流体系

 

分类

字节输入流

字节输出流

字符输入流

字符输出流

抽象基类

InputStream

OutputStream

Reader

Writer

访问文件

FileInputStream

FileOutputStream

FileReader

FileWriter

访问数组

ByteArrayInputStream

ByteArrayOutputStream

CharArrayReader

CharArrayWriter

访问管道

PipedInputStream

PipedOutputStream

PipedReader

PipedWriter

访问字符串

 

 

StringReader

StringWriter

缓冲流

BufferedInputStream

BufferedOutputStream

BufferedReader

BufferedWriter

转换流

 

 

InputStreamReader

OutputStreamWriter

对象流

ObjectInputStream

ObjectOutputStream

 

 

抽象基类

FilterInputStream

FilterOutputStream

FilterReader

FileWriter

打印流

 

PrintStream

 

 

推回输入流

PushbackInputStream

 

PushbackReader

 

特殊流

DataInputStream

DataOutputStream

 

 


流的单向性: 

   输入流:只能从中读取数据,不能写入数据

   输出流:只能从中写入数据,不能从中读取数据

读写文件的主要是用到FileInputStream和FileOutputStream,他们分别是继承了,InputStream和OutputStream,下面就写一个读取文件以及写入数据到一个文件的例子。

 

package com.io;

import java.io.*;

public class MyIO {

	 
	public static void main(String[] args) {
		//读取文件
		int b = 0;
		FileInputStream in = null;
		try{
		in = new FileInputStream("D://java//ThrowsDemo.java");
		}catch (FileNotFoundException e) {
		System.out.println("找不到指定文件");
		System.exit(-1);
		}

		try{
		long num = 0;
		while((b=in.read())!=-1) {
		System.out.print((char)b);
		num++;
		}
		in.close();
		System.out.println();
		System.out.println("共读取了"+num+"个字节");

		}catch (IOException e1) {
		System.out.println("文件读取出错");System.exit(-1);
		}
		//写文件
		int b1 = 0;
		FileInputStream in1 = null;
		FileOutputStream out = null; 
		try{
		in1 = new FileInputStream("D://java//ThrowsDemo.java");
		out = new FileOutputStream("D://java//Throw.java");
		while((b1=in1.read())!=-1) {
		out.write(b1);
		}
		in1.close();
		out.close();
		}catch (FileNotFoundException e2) {
		System.out.println("找不到指定文件");System.exit(-1);
		}catch(IOException e1) {
		System.out.println("文件复制出错");System.exit(-1);
		}
		System.out.println("文件已复制");
	}

}

 基本的文件操作就是这样,总的来说就是输入输出流。而输入、输出流可分为字节流和字符流两大类,下面继续详说。

分享到:
评论
2 楼 玉米豆子123 2016-11-15  
输入流:只能从中读取数据,不能写入数据

   输出流:只能从中写入数据,不能从中读取数据

想问问这是什么意思
1 楼 heshifk 2016-07-02  
有那么一段时间,我一直弄不懂输入和输出是怎样定义的,后来终于弄明白了,所谓的输入及输出都是对内存 进行操作的。

相关推荐

Global site tag (gtag.js) - Google Analytics