如何编辑txt文件中的行

时间:2016-12-22 19:47:02

标签: java

我正在写一个学校项目:租车系统。

到目前为止,我们可以注册一辆车型号,颜色等......以及可用的字符(Y / N)。我们使用.txt文件来保存汽车属性,使用另一个.txt文件来保存客户端属性。

要租车我们选择一个客户,一辆车,然后我们从每一个获得一个独特的属性(车牌和身份证),将其保存到另一个.txt文件,并在车载.txt文件中我们必须将可用字符从Y更改为N.

我们正在使用一个界面来执行此操作,并且我们有一个表格,其中包含注册的客户和汽车列表。首先,我们选择一个客户端,单击“下一步”,然后选择一辆汽车并单击“租用”。表中的可用字符从Y变为N但我无法将其保存在cars .txt文件中。

我想要一些帮助

这是"注册汽车的代码"窗口

public void persistir(){
    File file = new File("carros.txt");

    for(int i=0; i<qtd; i++){       
        try {

            Veiculo carro = carros[i];

            //verifica se o arquivo já existe e escreve no final do mesmo
            FileWriter fileWriter = new FileWriter("carros.txt", true);
            BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);

            bufferedWriter.write(carro.getMarca() + ";" + carro.getModelo() + ";" + carro.getCor() + ";" + carro.getCategoria() + ";" + carro.getAno() + ";" + carro.getPlaca() + ";" + carro.getDisponivel() + ";");
            bufferedWriter.newLine();
            bufferedWriter.close();

        } catch (HeadlessException | IOException e) {
            System.out.println("Erro: " + e);
        }
    }
}

这是RENT按钮上的代码

private void finalizarActionPerformed(java.awt.event.ActionEvent evt) {                                          

    int linha =  tabVeiculos2.getSelectedRow();
    GPLACA = (tabVeiculos2.getValueAt(linha, 5)).toString();
    tabVeiculos2.setValueAt("N", linha, 6);
    Alugar(GRG,GPLACA);
    JOptionPane.showMessageDialog(null, "Locação Realizada com sucesso!");
    System.out.println(GPLACA);

    this.dispose();

}

如果您需要帮助翻译,请告诉我,谢谢。

编辑:因为你们都认为我只是想完成我的工作,所以我不是。从那以后我无法取得任何进展。

大众;高尔;普雷图;流行; 2016; AAA0000; Y; 福特;嘉年华;煎饼;流行; 2011; BBB1111; Y; ​​

这是在cars.txt文件中,我想知道如何将Y更改为N.

1 个答案:

答案 0 :(得分:1)

重写整个文件最简单。也就是说,读取并解析文件,更改数据并再次写出文件。

您还应该考虑对文本文件使用标准结构化文件格式,例如xml或json。使用其中一个将允许您使用库来以较少的编码工作来读取和写入数据。