骤跌 2023-06-06 22:24 采纳率: 75%
浏览 24
已结题

关于#java#的问题:那时候的想法是在将文本数据读取到集合前加一个判断方法,把想删除的数据不加入集合中,这样我重新读取集合时就达到了删除数据的目的

#用IO流实现一个图书系统的数据的删除。
#我原本思路是将文本中数据读取到数组集合中,在集合中用remove()方法来删除,然后再将集合数据输出到文本中覆盖原来的数据。事实证明确实可以。
在实际编写代码时,写着写着忘了利用remove方法。那时候的想法是在将文本数据读取到集合前加一个判断方法,把想删除的数据不加入集合中,这样我重新读取集合时就达到了删除数据的目的。
然后我就遇到了一个死循环的问题。


import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;

public class jsu1 {
    public static void main(String[] args) throws IOException {
        System.out.println("输入输出图书名称:");
        Scanner sc = new Scanner(System.in);
        String name =sc.nextLine();
        File file =new File("D:/IDEA-java/src/comt/删除操作/a.txt");
        FileReader FR = new FileReader(file);
        BufferedReader BR = new BufferedReader(FR);
        ArrayList<String> array =new ArrayList<>();
        String line;
        while((line = BR.readLine()) != null){
            String[] str;
            str=line.split(",");
            if(!name.equals(str[0])){
                array.add(str[0]+","+str[1]+","+str[2]);
                array.add("\n");
            }
        }
        BR.close();
        FR.close();
        FileWriter FW = new FileWriter(file);
        BufferedWriter BW  = new BufferedWriter(FW);
        BW.write(String.valueOf(array));
        BW.close();
        FW.close();
    }
}

在我while循环处,数据陷入一个循环,似乎没有合理的方法跳出循环。
我数据的存储形式:

img

我想把这个思路实现出来,还是说这个思路确实不行

  • 写回答

2条回答 默认 最新

  • 何心而为殇 2023-06-07 13:14
    关注

    可以再加个条件line长度不为0。你这样的话如果读出来是“”这样的也不为null。所以程序就不会停。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月13日
  • 创建了问题 6月6日

悬赏问题

  • ¥15 如何构建全国统一的物流管理平台?
  • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
  • ¥20 和学习数据的传参方式,选择正确的传参方式有关
  • ¥15 这是网络安全里面的poem code
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
  • ¥50 python写segy数据出错
  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥30 3D多模态医疗数据集-视觉问答
  • ¥20 设计一个二极管稳压值检测电路