首页 > 代码库 > java 字符流writer、reader基本操作及理解

java 字符流writer、reader基本操作及理解

字符和字节有什么区别,额……这个我也不知道。

1、基本操作实例

import java.io.*;

public class CharDemo
{
	public static void main(String[] args)
	{
		File f=new File("F:\\workspace\\Javaprj\\test.txt");
		
		Writer out=null;
		Reader in=null;
		try
		{
			out=new FileWriter(f);
			String str="Hello World!!!";
			out.write(str);
			System.out.println("The string "+"\"Hello World!!!\""+" has been written into "+f.getName()+".");
			out.close();
			
			in=new FileReader(f);
			char[] buf=new char[1024];
			int num=in.read(buf);
			if(num!=-1)
			{
				System.out.println("The string \""+ new String(buf,0,num) +"\" has been read from the file "+f.getName()+".");
			}
			else
			{
				System.out.println("The file \""+f.getName()+"\" is empty!");
			}
		}
		catch(IOException e)
		{
			e.printStackTrace();
		}
	}
}

2、注意的问题

将out.close();注释掉

import java.io.*;

public class CharDemo
{
	public static void main(String[] args)
	{
		File f=new File("F:\\workspace\\Javaprj\\test.txt");
		
		Writer out=null;
		Reader in=null;
		try
		{
			out=new FileWriter(f);
			String str="Hello World!!!";
			out.write(str);
			System.out.println("The string "+"\"Hello World!!!\""+" has been written into "+f.getName()+".");
			//out.close();
			
			in=new FileReader(f);
			char[] buf=new char[1024];
			int num=in.read(buf);
			if(num!=-1)
			{
				System.out.println("The string \""+ new String(buf,0,num) +"\" has been read from the file "+f.getName()+".");
			}
			else
			{
				System.out.println("The file \""+f.getName()+"\" is empty!");
			}
		}
		catch(IOException e)
		{
			e.printStackTrace();
		}
	}
}