读取写入txt文件
按行读取配置文件,遍历判断修改每行的数据,在存放到一个新的文件中。
==========================================================
package wang.imports;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/**
-
Created by FeiFei on 2019/9/4.
*/
public class Import_txt {
public static void main(String[] args){
String path=“D:\软件\ideaIU\ideaworkspace1\JavaDemo1\src\demo.txt”;try { List<String> sacnListPath = readfiles(path); int index=0; for(String s : sacnListPath){ String getStr=s.substring(5,10); if(getStr.contains("eq")){ String newStr= getStr.replaceAll("eq","000000"); String tihuan= s.replaceAll(getStr,newStr); sacnListPath.set(index,tihuan); } index++; System.out.println(s); } writeFile1(sacnListPath); } catch (IOException e) { e.printStackTrace(); }
}
public static List readfiles(String path) throws IOException {
// 使用一个字符串集合来存储文本中的路径 ,也可用String []数组
List list = new ArrayList();
FileInputStream fis = new FileInputStream(path);
// 防止路径乱码 如果utf-8 乱码 改GBK eclipse里创建的txt 用UTF-8,在电脑上自己创建的txt 用GBK
InputStreamReader isr = new InputStreamReader(fis, “UTF-8”);
BufferedReader br = new BufferedReader(isr);
String line = “”;
while ((line = br.readLine()) != null) {
// 如果 t x t文件里的路径 不包含—字符串 这里是对里面的内容进行一个筛选
if (line.lastIndexOf("—") < 0) {
list.add(line);
}
}
br.close();
isr.close();
fis.close();
return list;
}
/*
读取之后再写入到一个文件中
*/
public static void writeFile1(List list) throws IOException {FileOutputStream fos=new FileOutputStream(new File("D:\\软件\\ideaIU\\ideaworkspace1\\JavaDemo1\\src\\demo2.txt")); OutputStreamWriter osw=new OutputStreamWriter(fos, "UTF-8"); BufferedWriter bw=new BufferedWriter(osw); for(String str : list){ bw.write(str+"\t\n"); } //注意按照顺序关闭 bw.close(); osw.close(); fos.close();
}
}