JAVA IO流之文件输入输出流


首先说一下什么是流, 流是封装数据,字节或字符有序序列的一类对象,它能够使计算机在输入输出信息时保证信息的完整与安全。
输入流
Java输入流是指程序从外部介质或其它程序读入内存所需要的数据,通常称为输入源。
输出流
Java输出流是指程序在处理数据之后,将处理数据输出到外部介质或传递给其他程序的数据序列。

字节流
以单个字节为单位对数据进行读写操作。(InputStream类和OutputStream类)
字符流
以字符(两个字节)为单位对数据进行读写操作。(Reader类和Writer类)

文件输入流(FileInputStream与FileReader)

这里是将这个程序本身的文件读到程序。

(字节流FileInputStream)

import java.io.*;

public class T_Io {

	public static void main(String[] args) {
		int  b = 0;
		FileInputStream in = null;
		try {
		in = new FileInputStream("C:/Users/acer/eclipse-workspace/Ob/src/T_Io.java");
		}catch (FileNotFoundException e) {
			e.printStackTrace();
			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 e) {
			System.out.println("文件提取错误");
		}
	}

}

 

(字符流FileReader)

把rong.txt这个文件读到程序

import java.io.*;

public class T_FileReader {

	public static void main(String[] args) {
		int a = 0;
		FileReader ff = null;
		try {
			ff = new FileReader("C:/h/rong.txt");
			while((a = ff.read())!=-1) {
				System.out.print((char)a);
			}
		}catch (FileNotFoundException e) {
			System.out.println("找不到该文件!");
		}catch (IOException e) {
			System.out.println("hh");
		}
       System.out.println(ff.markSupported());
	}

}

文件输出流(FileoutputStream)

将T_IO.java中的数据复制到rong.txt

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

public class T_FileoutStream {

	public static void main(String[] args) throws IOException {
		int b = 0;
		FileInputStream nn = null;
		FileOutputStream out = null;
		try {
		nn = new FileInputStream("C:/Users/acer/eclipse-workspace/Ob/src/T_Io.java");
		out = new FileOutputStream("C:/h/rong.txt");
		while((b = nn.read()) !=-1) {
		out.write(b);
		}
		nn.close();
		out.close();
		}catch (Exception e) {
			e.getMessage();
		}
		
	}

}

(字符流 FileWriter)

向language.txt这个文件中写如50000个字符,相当于把全世界所有的语言文字包含再内

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class T_Writer {

	public static void main(String[] args) {
	FileWriter fw = null;
	try {
		fw = new FileWriter("c:/h/language.txt");
		for(int c = 0; c<50000; c++) {
			fw.write(c);
		}
		fw.close();
	}catch (IOException e) {
		System.out.println("文件写入错误");
		System.exit(-1);
	}
	}
}


 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值