JAVA输入/输出流(字节流、字符流、缓冲流)

JAVA输入/输出流

前期知识准备

1、基本java语法

 





基本原理:

       程序在运行期间,可能需要从外部的存储媒介或其他程序中读入所需要的数据,这就需要使用输入流对象。输入流的指向称作它的源,程序从指向源的输入流中读取源中数据。另一方面,程序在处理数据后,可能需要将处理结果写入到永久的存储媒介中或传给其他应用程序,这就需要使用输出流对象。输出流的指向称作它的目的地,程序通过向输出流中写入数据把数据传送到目的地。

 

 

 

 

本博文只给出文件字节流,文件字符流,缓冲流实例




 

 

 

文件字节流:


FileInputStream                                              父类                                             InputStream

FileOutputStream                                           父类                                             OutputStream

FileInputStream                                              构造函数                                     FileInputStreamString name

                                                                                                                                 FileInputStreamFile file

FileOutputStream                                           构造函数                                     FileOutputStreamString name

                                                                                                                                FileOutputStreamFile file

文件字节流实例:

package study;

import java.io.FileOutputStream;

public class study0 {
	public static void main(String [] args){
		byte[] a = "我是110".getBytes();
		byte[] b = "你是120".getBytes();
		try {
			FileOutputStream out = new FileOutputStream("happy.txt");
			out.write(a);
			out.write(b, 0, b.length);
			out.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}



 

输出结果:


 

 

 

 

文件字符流:


FileReader                                          父类                                           Reader

FileWriter                                             父类                                           Writer

FileReader                                         构造函数                                    FileReader(String filename)

                                                                                                                 FileReader(File filename)

FileWriter                                            构造函数                                    FileWriter(String filename)

                                                                                                                 FileWriter(File filename)

 

文件字符流实例:


import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

public class study1 {
	public static void main(String [] args){
		String str = "欢迎关注,Ucky.k的博客.";
		try {
			//从缓存写入目的地
			File f = new File("hello.txt");
			FileWriter out = new FileWriter(f);
			out.write(str,0,str.length());
			out.close();
			//从源读入缓存
			FileReader in = new FileReader(f);
			char[] sr = new char[20];
			if(in.read(sr)!=-1){
				System.out.println(sr);
			}
			in.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}


输出结果:


 

 

 

 

 

缓冲流:


BufferedReader                                          父类                                                 Reader

BufferedWriter                                             父类                                                 Writer

BufferedReader                                          构造函数                                          BufferedReader(Reader in)

BufferedWriter                                          构造函数                                          BufferedWriter(Writer out)



BufferedReader流能读取文本行,方法是readLine() 

可以把BufferedReader和BufferedWriter称作为上层流,把他们指向的字符流称作为底层流。Java采用缓存技术将上层流和底层流连接。底层字符输入流首先将数据读入缓存,BufferedReader流再从缓存读取数据;BufferedWirter流将数据写入缓存,底层字符输出流会不断地将缓存中的数据写到目的地。

 

缓冲流实例:


package study;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

public class study2 {
	public static void main(String[] args){
		File file = new File("student.txt");
		String content[]={"商品列表","樱桃:10元/斤","草莓:5/斤","芒果:8/斤"};
		try {
			BufferedWriter out = new BufferedWriter(
					new FileWriter(file));
			for(String str:content){
				out.write(str);
				out.newLine();
			}
			out.close();
			
			BufferedReader in = new BufferedReader(
					new FileReader(file));
			String s = null;
			while((s=in.readLine())!=null){
				System.out.print(s);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}


输出结果:


 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值