1. 程式人生 > >Java文字檔案的按行讀取

Java文字檔案的按行讀取

package my;
 
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
 
public class HelloWorld
{
	//以File作為輸入源File->FileReader
	public static void test1(File source) throws Exception { 
		FileReader m=new FileReader(source);
		BufferedReader reader=new BufferedReader(m);
		
		while(true) {
			String nextline=reader.readLine();
			if(nextline==null) break;
			System.out.println("got:"+nextline);
		}
		reader.close();
		
	}
	
	//以InputStream作為輸入源 InputStream->InputStreamReader
	public static void test2(InputStream source)throws Exception{
		InputStreamReader m=new InputStreamReader(source,"GBK");
		BufferedReader reader=new BufferedReader(m);
		
		while(true) {
			String nextline=reader.readLine();
			if(nextline==null) break;
			System.out.println("got:"+nextline);
		}
		reader.close();
	}
	
	public static void test3()throws Exception
	{
		InputStreamReader m=new InputStreamReader(System.in);
		BufferedReader reader=new BufferedReader(m);
		while(true) {
			System.out.print(">");
			String nextline=reader.readLine();
			if(nextline==null) break;
			if("exit".equals(nextline)) {
				System.out.println("Good Bye");
				break;
			}
			//處理使用者輸入
			System.out.println("handle command:"+nextline);
		}
		reader.close();
	}
 
	public static void main(String[] args){	
		try {
			test1(new File("C:/example/aaa"));
			//test2(new FileInputStream("c:/example/aaa"));
			//test3();
		}catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}