对文件的读写方式有很多种,接下来使用BufferReader对文件进行读操作。
文件写操作主要追加方法分别使用:BufferWriter、fileWriter、RandomAccessFile
import java.io.*;
public class FileIO {
/**
* 读取文件:使用BufferedReader
* @param filePath
*/
public static void bufferedReader(String filePath) {
/* 读取数据 */
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filePath)),"UTF-8"));
String lineTxt = null;
while ((lineTxt = br.readLine()) != null) {
System.out.println(lineTxt);
}
br.close();
} catch (Exception e) {
System.err.println("read errors :" + e);
}
}
/**
* 追加文件:使用BufferedWriter
*
* @param filePath
* @param content
*/
public static void bufferedWriter(String filePath, String content) {
try {
// true表示以追加形式写文件
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(filePath),true), "UTF-8"));
//写入追加内容
bw.write(content);
//换行
bw.newLine();
bw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 追加文件:使用FileWriter
*
* @param filePath
* @param content
*/
public static void fileWriter(String filePath, String content) {
FileWriter writer = null;
try {
// true表示以追加形式写文件
writer = new FileWriter(filePath, true);
writer.write(content);
//换行
writer.write(System.getProperty("line.separator"));
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 追加文件:使用RandomAccessFile
*
* @param filePath
* @param content
*/
public static void randomAccessFile(String filePath, String content) {
RandomAccessFile randomFile = null;
try {
// 打开一个随机访问文件流,按读写方式
randomFile = new RandomAccessFile(filePath, "rw");
// 文件长度,字节数
long fileLength = randomFile.length();
// 将写文件指针移到文件尾。
randomFile.seek(fileLength);
randomFile.writeBytes(content);
randomFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}