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

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);
        
        
    }
}



  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值