您的位置:首页 > 编程语言 > Java开发

java文件之写入,读取,全部删除,获取过滤or获取特定字符串,删除特定字符串方法集合

2017-11-22 11:17 615 查看
1.基本方法和用法如下:

public class FilesIo {

//写入文件内容
public void writeStringToFile(String filePath,String info) {
try {
//创建字符输出流类对象和已存在的文件相关联
FileWriter fw = new FileWriter(filePath, true);
//为了提高写入的效率,创建字符流的缓冲区
BufferedWriter bw = new BufferedWriter(fw);
//bw.append("在已有的基础上添加字符串");
bw.write(info+"\r\n");//写入
//bw.write("192.168.30.30\r\n");
bw.close();
fw.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

//读取文件内容
public static List<String> readStringFromFile(String filePath) {
File file =new File(filePath);
if(!file.exists()) {
return null;
}
List<String> resultStr =new ArrayList<String>();
try {
//创建缓冲字符输入流-它继承于Reader
BufferedReader bufferedReader =new BufferedReader(new FileReader(file));
String str =null;
while(null !=(str=bufferedReader.readLine())) {
resultStr.add(str);
}
bufferedReader.close();
}catch (IOException e) {
e.printStackTrace();
}
return resultStr;
}

//清空所有文件内容
public static void clearStringFromFile(String filePath) {
File file =new File(filePath);
try {
if(!file.exists()) {
file.createNewFile();
}
//创建字符输出流类对象和已存在的文件相关联
FileWriter fileWriter =new FileWriter(file);
fileWriter.write("");
//将数据刷新到目的地文件中去
fileWriter.flush();
//关闭流
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}

//过滤or读取文件特定的字符串集合
private List<String> readExStringFromFile(String filePath, String str)throws IOException {
File file = new File(filePath);
//创建缓冲字符输入流-它继承于Reader
BufferedReader reader = null;
List<String> list = new ArrayList<String>();
reader = new BufferedReader(new FileReader(file));
String text = reader.readLine();
//获取文件中特定字符串
while (text != null) {
//过滤---把"!"号去掉就是获取特定字符串集合
  if (!text.trim().equals(str)) {
list.add(text + "\r\n");
}
text = reader.readLine();
}
reader.close();
return list;
}

//删除文件中特定的字符串-等于重新写入【除去特定字符串】
private void writeExStringFromFile(String filePath, List<String> list)
throws IOException {
//获取文件对象
File file = new File(filePath);
if (!file.exists()) {
file.createNewFile();
}
//创建磁盘文件的输入输出流对象
FileOutputStream outputStream = new FileOutputStream(file);
for (String s : list) {
outputStream.write(s.getBytes());
}
//关闭流
outputStream.close();
}

public static void main(String[] args) throws IOException {
String filePath = "E:\\cha.txt";
String info = "123.456.178.11";
//写入
//new FilesIo().writeStringToFile(filePath,info);
//读取
List<String> Strlist = new FilesIo().readStringFromFile(filePath);
for(String sl:Strlist){
//System.out.println(sl);
}
//获取特定字符
List<String> ExStrlist = new FilesIo().readExStringFromFile(filePath, info);
for(String Exsl:ExStrlist){
System.out.println(Exsl);
}
//删除特定字符[要配合readExStringFromFile方法返回来的数据一起使用]
new FilesIo().writeExStringFromFile(filePath, ExStrlist);
//清空文件内容
new FilesIo().clearStringFromFile(filePath);

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java file io
相关文章推荐