Java IO 输入输出流 实例解释

package IO;
/*
 * Java In Out 输入输出流
 * Date:2014.02.21
 * Author:璀若星辰
 *reference
 * */
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;


/*主要操作的内容:
 * 1.字节流: 图片,     2.字符流  (字符文件 .html .java .txt)
 *
 *
 * */
public class testIO {
	//读 字符输入流
	public static List<String>testCharInput() throws Exception {
		FileInputStream fis = new FileInputStream("D:/1.txt");
		try {
			InputStreamReader isr = new InputStreamReader(fis, "gb2312");
			try{
				BufferedReader br = new BufferedReader(isr);
				try{
					List<String> all = new ArrayList<String>();
					String temp = br.readLine();
					while(temp!=null) {
						System.out.println("temp="+temp);
						all.add(temp);
						System.out.println("all= "+all);
						temp= br.readLine();
					}
					return all;
				}finally{
					br.close();
				}
			}finally{
				isr.close();
			}
		} finally{
			fis.close();
		}

	}
	 // 读 字节流
	 public static void testByteInputStream() throws Exception {
		    FileInputStream fis = new FileInputStream("D:/1.txt");
		    try {
		      BufferedInputStream bis = new BufferedInputStream(fis);
		      try {
		        byte[] bs = new byte[1024];  //1024的长度可改
		        while (bis.read(bs, 0, 1024) != -1) {
		          System.out.print("bs="+new String(bs));
		        }
		      } finally {
		        bis.close();
		      }
		    } finally {
		      fis.close();
		    }

		  }
	 //写 字符流
	 public static void testCharOutput(List<String>list) throws Exception{
		 FileOutputStream fos = new FileOutputStream("d:/1.txt");
		 try{
			 OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8");//文件的编码
			 try{
				 BufferedWriter bw = new BufferedWriter(osw);
				 try{
					 for(String line:list){
						 bw.write(line);
						 bw.newLine();//使用newLine()换行  \n
					 }
					 System.out.println("success");
				 }finally{
					 bw.close();
				 }
			 }finally{
				 osw.close();
			 }
		 }finally{
			 fos.close();
		 }
	 }
	public static void main(String[] args) throws Exception {
		//testIO.testCharInput();
		//testIO.testByteInputStream();
		ArrayList<String> list = new ArrayList<String>();
		list.add("Happy");
		list.add("Boy");
		testIO.testCharOutput(list);
		testIO.testByteInputStream();
	}
	//写入内容时不想删除原来的文本,可以先读出来保存下来,然后和新内容一起写入文本,此处不再赘述
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值