java的文件操作(IO操作)是由一組相關(guān)的Api(接口、抽象類、實(shí)現(xiàn)類)組成的没咙。
本節(jié)我們介紹最常見的文本文件的讀寫操作。
讀取文本文件內(nèi)容
首先我們來看下千劈,如何讀取一個(gè)文本文件中的內(nèi)容祭刚,代碼如下
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class ReadDemo {
public static void main(String[] args) {
String fileName = "d:/demo/test.txt";
BufferedReader reader = null;
try {
reader = new BufferedReader(
new FileReader(fileName));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
closeReader(reader);
}
}
private static void closeReader(BufferedReader reader) {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
讀取本文文件中的內(nèi)容,可以有多種寫法队塘,上面例子是最常見的一種實(shí)現(xiàn)方式袁梗。上面代碼是按照行循環(huán)讀取文件中的內(nèi)容
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
循環(huán)讀取的每行的內(nèi)容賦值給字符串變量line,然后就可以按照自己的需求處理讀取的內(nèi)容憔古。上面例子只是簡單的打印輸出遮怜。
涉及到文件的操作一定要進(jìn)行異常捕獲,并且需要加finally語句鸿市,在finally中關(guān)閉打開的文件句柄锯梁。
寫入文本文件
下面的例子我們將一些字符串內(nèi)容寫入到文本文件中。代碼如:
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class WriteDemo {
public static void main(String[] args) {
String fileName="d:/demo/test.txt";
List<String> data = new ArrayList<>();
data.add("hello1");
data.add("hello2");
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter(fileName) );
for(String item:data) {
writer.write(item); //寫入數(shù)據(jù)
writer.newLine(); //換行
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
closeWriter(writer);
}
}
private static void closeWriter(BufferedWriter writer) {
if(writer!=null){
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
可以看出焰情,寫入文本文件和讀取文本文件的過程很類似陌凳。使用到一系列的APi, 重點(diǎn)是調(diào)用 write方法寫入數(shù)據(jù)内舟,write寫入不會自動換行合敦,如果要換行,需要調(diào)用newLine方法验游。