现在的位置: 首页 > 综合 > 正文

java io流

2013年02月21日 ⁄ 综合 ⁄ 共 2764字 ⁄ 字号 评论关闭
import java.io.*;

/*

io流细节
@  blog.csdn.net/ljfbest
*/
class Test 
{
	public static void main(String[] args) throws IOException 
	{
		/*
		FileWriter fw=new FileWriter(new File("a.txt"),true);
		//在windows中,一个换行相当于\r\n两个字符,而linux中则是\n
		fw.write("ssss\r\n");
		//勿忘刷新缓冲区,不然写不到a.txt中,fr.close()前也会自动刷新一次
		fw.flush();
		*/
		FileReader fr=new FileReader("a.txt");
		char[] ch1=new char[3];

		/*a.txt:1. abcde--->abcdec (关键理解原理)
				 2. abc (此处一个换行,在windows中相当于两个字符,故输出以下)
				    e    --->abc
					         e

		*/
		while((fr.read(ch1))!=-1)
			System.out.print(ch1);//System.out.print(new String (buf,0,num));
		fr.close();
	}
}
import java.io.*;

/*
字符流的缓冲区 BufferedWriter,BufferedReader
*/

class Test 
{
	public static void main(String[] args) throws IOException 
	{/*
		FileWriter fw=new FileWriter("a.txt",true);
		BufferedWriter bf=new BufferedWriter(fw);
		bf.write("ccc");
		bf.newLine();//输入一个换行符,windows下是\r\n,linux下是\n
		bf.write("aaa");
		bf.flush();
		bf.close();
	*/
		BufferedWriter bw=new BufferedWriter(new FileWriter("b.txt"));
		BufferedReader br=new BufferedReader(new FileReader("Test.java"));
		String line=null;
		while((line=br.readLine())!=null)
		{
			bw.write(line);
			bw.newLine();
			bw.flush();
		}
		bw.close();
		br.close();
	}
}
import java.io.*;


/*
字符流的缓冲区 BufferedWriter,BufferedReader
*/


class Test 
{
	public static void main(String[] args) throws IOException 
	{
		/*
		FileOutputStream fs=new FileOutputStream("c.txt");
		fs.write("你好!".getBytes());//必须要转化为字节数组
		//此时不需要刷新,flush()
		fs.close();*/
		
		FileInputStream fi=new FileInputStream("c.txt");
		/*int ch;
		while((ch=fi.read())!=-1)
			System.out.println((char)ch);
        */
		byte[] by=new byte[1024];
		int len;
		while((len=fi.read(by))!=-1)
			System.out.println(new String(by,0,len));
		fi.close();
	}
}



import java.io.*;
import java.util.*;


class Test 
{
	public static void main(String[] args) throws IOException 
	{
		/* // 转换流:将字节流转成字符流再使用缓冲区的readLine()
		InputStream in=System.in;
		InputStreamReader is=new InputStreamReader(in);//转换流
		BufferedReader bf=new BufferedReader(is);
		String line=null;
		while((line=bf.readLine())!=null)
			System.out.println(line);
		*/

		/*
		//PrinterWriter  PrinterStream
		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		//此处不用BufferedWriter改用PrintWriter;如果为 true,则 println、printf 或 format 方法将刷新输出缓冲区
		PrintWriter out=new PrintWriter(System.out,true);//此处写到控制台上,刷新只对流起作用
		//PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter("a.txt")));//此处要转换成流,才能自动刷新
		String line=null;
		while((line=bf.readLine())!=null)
			out.println(line);
		out.close();
		bf.close();
		*/
		
		/*
		DataInputStream in=new DataInputStream(System.in);
		int n=in.readInt();
		System.out.println(n);
		in.close();//注意:DataInputStream与DataOutputStream必须成对出现
		*/
	
	/*
		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		String s=bf.readLine();
		byte[] b=s.getBytes("GBK");//编码    省略时系统默认的
		String s1=new String(b,"GBK");///解码  省略时系统默认的
		System.out.println(s1);
		//System.out.println(Arrays.toString(b));
	*/
		BufferedInputStream bf=new BufferedInputStream(System.in);
		byte[] b=new byte[10];
		bf.read(b);
		String s=new String(b);
		System.out.println(s);
	}
}









抱歉!评论已关闭.