Java 提供 BufferedReader 類用來從流中讀取字符串、FileReader 類用來讀取文件。我們用這兩個類來讀取文件中的字符串。
下面是一個例子:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile{
public static void main(String[] args){
String path="c:/1.txt"; //定義文件路徑
String content=""; //content保存文件內容,
BufferedReader reader=null; //定義BufferedReader
try{
reader=new BufferedReader(new FileReader(path));
//按行讀取文件並加入到content中。
//當readLine方法返回null時表示文件讀取完畢。
String line;
while((line=reader.readLine())!=null){
content+=line+"n";
}
}catch(IOException e){
e.printStackTrace();
}finally{
//最後要在finally中將reader對象關閉
if(reader!=null){
try{
reader.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
System.out.println("文件內容:"+content);
}
}
我們把讀取文件的那一段提取出來:
public class ReadFile{
public static void main(String[] args){
String path="c:/1.txt"; //定義文件路徑
try{
String content=readFile(path);
System.out.println("文件內容:"+content);
}catch(IOException e){
e.printStackTrace();
}
}
/**
*讀取指定的文本文件,並返回內容
*
*@parampath文件路徑
*@return文件內容
*@throwsIOException如果文件不存在、打開失敗或讀取失敗
*/
private static String readFile(String path) throws IOException{
String content="";
BufferedReader reader=null;
try{
reader=new BufferedReader(new FileReader(path));
String line;
while((line=reader.readLine())!=null){
content+=line+"n";
}
}finally{
if(reader!=null){
try{
reader.close();
}catch(IOException e){
//關閉Reader出現的異常一般不需要處理。
}
}
}
return content;
}
}