首页 > 代码库 > 转换流

转换流

IO中的流分为字节流和字符流【转换流只有从字节流转换为字符流的类,没有字符流转换成字节流的类】
转换流的类InputStreamReader和OutputStreamWriter
【字节流】任何时候都可以用

【字符流】仅限于文本文件

什么时候用转换流: 当我们的字节流指向一个文本文件,我们用转换流将其转换为字符流会更加方便操作




static void testOutputStreamWriter() {
                          //指向文档的字节输入流
		try (InputStream in = new FileInputStream("hello.txt");
				//将上面的字节流转成字符流输入流
				Reader read = new InputStreamReader(in, "utf-8");
				//创建带缓冲的字符输入流
				BufferedReader bfRead=new BufferedReader(read);
				 //指向文档的字节输出流
				OutputStream out = new FileOutputStream("hell22.txt");
				//将上面的字节流转成字符流输出流
				Writer writer = new OutputStreamWriter(out, "utf-8");
				//创建带缓冲的字符输出流
				 BufferedWriter bfWriter=new BufferedWriter(writer);
				)

		{
			 
			//创建缓冲区用来存放每次读取的数据
			char[] ch=new char[50];
			//每次放入到缓冲区的数据的实际个数
			int len=0;
			//String content="";
			while((len=bfRead.read(ch))!=-1){
			//	content+=new String(ch,0,len);
				bfWriter.write(ch, 0, len);
			}
			//writer.write(content);
			//System.out.println(content);

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

  

转换流