目录
一、前言
二、读取文件
三、写入文件
四、读后处理并写入文件
一、前言
需求是要对文件中的字符串,每行结尾加上特殊的标识。首先要知道怎么读取文件,再是怎么写入文件,最后是读写相融合。
二、读取文件
public class ReadFileUtil {
public static void readFile(String fileNamePath) {
File file = new File(fileNamePath);
BufferedReader reader = null;
StringBuffer sbf = new StringBuffer();
try {
reader = new BufferedReader(new FileReader(file));
String tempStr;
while ((tempStr = reader.readLine()) != null) {
sbf.append(tempStr);
}
reader.close();
System.out.println(sbf.toString());
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
System.out.println(sbf.toString());
}
public static void main(String[] args) {
readFile("F:\\测试文件.txt");
}
}
三、写入文件
我这里写了两种方法FileWritter和BufferedWriter。
FileWritter我使用构造器有两种,一是FileWriter(File file),默认会覆盖掉文件中原有的内容,二是FileWriter(File file, boolean append),当append为true时,默认保存文件中原有的内容。
public class WriterFileUtil {
public static void writerFile(String filePath){
File writerFile = new File(filePath);
try {
if(!writerFile.exists()){
writerFile.createNewFile();
}
FileWriter fileWriter = new FileWriter(writerFile);
for(int i = 0; i<=10;i++){
fileWriter.write("这是第"+i+"行数据\n");
}
fileWriter.flush();
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void writerFile2(String filePath){
try {
File writerFile = new File(filePath);
if(!writerFile.exists()){
writerFile.createNewFile();
}
FileWriter fileWriter = new FileWriter(writerFile,true);
BufferedWriter bw = new BufferedWriter(fileWriter);
for(int i = 0; i<=10;i++){
bw.write("这是第"+i+"行数据\n");
}
bw.flush();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
//writerFile("F:\\测试文件.txt");
writerFile2("F:\\测试文件.txt");
}
}
四、读后处理并写入文件
以上两者的整合,就直接上代码了。
public class ProduceExcelUtils {
public static void readAndWriterFile(String filePath){
File file = new File(filePath);
File writerFile =new File("F:\\TM.txt");
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
FileWriter fileWriter = new FileWriter(writerFile);
String tempStr;
while ((tempStr = reader.readLine()) != null) {
tempStr+="\tThis is a very casual translation.";
fileWriter.write(tempStr+"\n");
}
fileWriter.flush();
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
public static void main( String[] args ) {
readAndWriterFile("F:\\zh.txt.2000");
}
}