用java进行文件的读写和字符串的替换

import java.io.*;



public class ReadWriteFile {
 
    publicstatic BufferedReader bufread;
      //指定文件路径和名称
      privatestatic String path = "D:/suncity.txt";
      privatestatic  File filename = new File(path);
      privatestatic String readStr ="";


     
      publicstatic void creatTxtFile() throws IOException{
              if (!filename.exists()) {
                      filename.createNewFile();
                      System.err.println(filename + "已创建!");
              }
      }
     
     
      publicstatic String readTxtFile(){
              String read;
              FileReader fileread;
              try {
                      fileread = new FileReader(filename);
                      bufread = new BufferedReader(fileread);
                      try {
                              while ((read = bufread.readLine()) != null) {
                                      readStr = readStr + read+ "\r\n";
                              }
                      } catch (IOException e) {
                              // TODO Auto-generated catch block
                              e.printStackTrace();
                      }
              } catch (FileNotFoundException e) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
              }

              System.out.println("文件内容是:"+ "\r\n" + readStr);
              return readStr;
      }
     
     
      publicstatic void writeTxtFile(String newStr) throws IOException{
              //先读取原有文件内容,然后进行写入操作
              String filein = newStr + "\r\n" + readStr + "\r\n";
              RandomAccessFile mm = null;
              try {
                      mm = new RandomAccessFile(filename, "rw");
                      mm.writeBytes(filein);
              } catch (IOException e1) {
                      // TODO 自动生成 catch 块
                      e1.printStackTrace();
              } finally {
                      if (mm != null) {
                              try {
                                      mm.close();
                              } catch (IOException e2) {
                                      // TODO 自动生成 catch 块
                                      e2.printStackTrace();
                              }
                      }
              }
      }
     
     
      publicstatic void replaceTxtByStr(String oldStr,String replaceStr){
              String temp = "";
              try {
                      File file = new File(path);
                      FileInputStream fis = new FileInputStream(file);
                      InputStreamReader isr = new InputStreamReader(fis);
                      BufferedReader br = new BufferedReader(isr);
                      StringBuffer buf = new StringBuffer();

                      // 保存该行前面的内容
                      for (int j = 1; (temp = br.readLine()) != null
                                      && !temp.equals(oldStr); j++){
                              buf = buf.append(temp);
                              buf = buf.append(System.getProperty("line.separator"));
                      }

                      // 将内容插入
                      buf = buf.append(replaceStr);

                      // 保存该行后面的内容
                      while ((temp = br.readLine()) != null) {
                              buf = buf.append(System.getProperty("line.separator"));
                              buf = buf.append(temp);
                      }

                      br.close();
                      FileOutputStream fos = new FileOutputStream(file);
                      PrintWriter pw = new PrintWriter(fos);
                      pw.write(buf.toString().toCharArray());
                      pw.flush();
                      pw.close();
              } catch (IOException e) {
                      e.printStackTrace();
              }
      }
      publicstatic void replaceTxtFile()
    {
      Stringread;
      Stringread2;
      try{
        FileReader fileread = new FileReader(filename);
        bufread = new BufferedReader(fileread);
        FileWriter newFile =new FileWriter(filename);
        BufferedWriter bw = new BufferedWriter(newFile);
        while ((read = bufread.readLine()) != null)
        {
        read2=read.replace("1.1.1.1","2.2.2.2");

        System.out.println(read2);
        bw.write(read2);
        bw.newLine();
        bw.flush();
        }
        }
        catch (Exception e) { 
                        e.printStackTrace(); 
                }
    }
     
      publicstatic void main(String[] s) throws IOException {
              ReadWriteFile.creatTxtFile();
              ReadWriteFile.readTxtFile();
              ReadWriteFile.writeTxtFile("20080808:12:13");
              ReadWriteFile.replaceTxtByStr("ken", "zhang");
              ReadWriteFile.replaceTxtFile();
      }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值