gpt4 book ai didi

java - 从 txt 文件中删除第一行时遇到问题

转载 作者:太空宇宙 更新时间:2023-11-04 14:58:43 26 4
gpt4 key购买 nike

我知道这是非常基本的东西,但由于某种原因,我在使用 bufferedReader/Writer 时遇到了问题。我正在尝试获取第一行文本并将其返回到另一个方法。但是,由于某种原因,编写器似乎没有写入临时文件,也没有更改临时文件的名称。

通过抛出一些打印语句,我已经能够弄清楚:

  1. while 循环运行正常
  2. if else 语句运行正确
  3. tempFile 未正确写入文本文件
  4. tempFile 未正确重命名
  5. 没有抛出任何错误

    私有(private)静态 String wavFinder() 抛出 IOException{

        String currentWav=null;
    int x = 1;
    File inputFile = new File("C:\\convoLists/unTranscribed.txt");
    File tempFile = new File("C:\\convoLists/unTranscribedtemp.txt");
    BufferedReader reader = new BufferedReader(new FileReader(inputFile));
    BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
    String currentLine = null;

    while((currentLine = reader.readLine()) != null) {
    if(x == 1){
    currentWav = currentLine;
    }
    else{
    writer.write(currentLine);
    }
    x = 2;
    }
    boolean successful = tempFile.renameTo(inputFile);
    System.out.println("Success: " + successful);
    System.out.println("currentWav = " + currentWav);
    return currentWav;
    }

这是我正在使用的方法。如果您发现任何问题,请告诉我,如果您有任何问题,我一定会尽快回答。谢谢:)

最佳答案

  1. 首先冲洗 Steam (写入器)并关闭它们。
  2. 不能有两个同名的文件。您正在尝试使用输入文件重命名临时文件。您需要删除输入文件,然后将其重命名为该文件。

    reader.close();
    writer.flush();
    writer.close();
    inputFile.delete();

在重命名之前添加这些行,它将起作用

关于java - 从 txt 文件中删除第一行时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22882363/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com