文件文档的操作在开发过程中很经常要用到。Java中封装了许多非常有用的文件操作API,非常方便。下面我就展示Java简单读写文本文档(txt文件)的示例代码。
环境
JDK1.8
示例代码
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/**
* @author huangh
* @date 2018-08-19 8:35
* @desc 文本文档的读和写
*/
public class TxtManage {
/**
* 读取指定路径的文本文档
*
* @param filePath
* @return
*/
public static List<String> readTxt(String filePath) {
File txtFile = new File(filePath);
List<String> txtContent = new ArrayList<>();
try {
InputStream in = new FileInputStream(txtFile);
//编码可设置为GBK,UTF-8等
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "GBK"));
//reader.readLine()读入每一行的内容
String line = reader.readLine();
//line为null表示读完
while (line != null) {
txtContent.add(line);
//读取下一行
line = reader.readLine();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//返回读取的结果
return txtContent;
}
/**
* 写入指定路径文本文档
*
* @param filePath
*/
public static void writeTxt(String filePath) {
File file = new File(filePath);
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
String data;
data = "业精于勤荒于嬉";
//写入文本文档
writer.write(data);
//换行
writer.write("\r\n");
data = "行成于思毁于随";
writer.write(data);
writer.write("\r\n");
data = "不积跬步,无以至千里";
writer.write(data);
writer.write("\r\n");
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
//读文本文档
List<String> txtContent = readTxt("D:\\Data\\testRead.txt");
txtContent.forEach(System.out::println);
//写文本文档
writeTxt("D:\\Data\\testWrite.txt");
}
}