【问题标题】:How to delete String from text file?如何从文本文件中删除字符串?
【发布时间】:2020-10-13 16:07:15
【问题描述】:

我正在使用文本文件创建简单的地址簿,但我的代码在删除字符串方法时抛出了太多错误。它在大多数地方显示 IO 异常,当 IO 异常得到解决时,编译错误找不到符号发生在某些标识符的 5 个位置。这是我的代码:

    public void DeletePerson(){    
      try {
         File file = new File("AddressBook.txt");
         File temp = File.createTempFile("file", ".txt", file.getParentFile()); 
         BufferedReader reader = new BufferedReader(new InputStreamReader(new 
           FileInputStream(file), Charset));

         PrintWriter writer = new PrintWriter(new OutputStreamWriter(new 
           FileOutputStream(temp), Charset));
         //More code ...
      } finally {
        if (writer != null) {
            System.out.println("Closing PrintWriter");
            writer.close(); 
        } else { 
            System.out.println("PrintWriter not open");
        }
        file.delete();
        temp.renameTo(file);
      }
    }

输出:

C:\java\AddressBook>javac AddressBook.java AddressBook.java:50:错误:找不到符号 如果(作家!= null){ ^ 符号:变量写入器 位置:类地址簿 AddressBook.java:52:错误:找不到符号 writer.close(); ^ 符号:变量写入器 位置:类地址簿 AddressBook.java:57:错误:找不到符号 文件.删除(); ^ 符号:变量文件 位置:类地址簿 AddressBook.java:58:错误:找不到符号 temp.renameTo(文件); ^ 符号:变量文件 位置:类地址簿 AddressBook.java:58:错误:找不到符号 temp.renameTo(文件); ^ 符号:可变温度 位置:类地址簿

我正在创建通讯录并发现删除人名方法的问题。首先,我必须从用户那里获取输入,即人名,然后我必须检查文本文件(读取文件)并找到匹配的单词,然后将其从地址簿中删除。 我还采用了其他方法来删除名称,但它们并没有彻底奏效。 请检查代码并解决问题。

【问题讨论】:

    标签: java string file


    【解决方案1】:

    try 块内的 FilePrintWriterObject
    你可以试试看。

    File file = new File("AddressBook.txt");
    PrintWriter writer = new PrintWriter(new FileWriter(file,Charset.forName("UTF-8")));//use "throws IOException" in your method.
    try{
    //some java code
    }finally{
        if (writer != null) { 
            System.out.println("Closing PrintWriter");
            writer.close(); 
        } else { 
            System.out.println("PrintWriter not open");
        } 
        file.delete();
    }
    

    【讨论】:

      猜你喜欢
      • 2014-12-19
      • 2012-12-16
      • 2013-08-08
      • 2019-02-18
      • 2018-12-04
      • 2022-01-16
      相关资源
      最近更新 更多