java - 在文本文件中添加多条记录

标签 java

我想在文本文件中添加多条记录。所以我写了下面的程序。但在此程序中,每次用户从命令提示符输入数据时,数据都会被覆盖。文件中的数据被覆盖。那么如何在文本文件中添加多条记录呢?

apples3.java

class apples3
{   public static void main(String[] args)
    {   ffile g = new ffile();
        g.get();
        g.openFile();
        g.addRecords();
        g.closeFile();
    }
}

ffile.java

import java.io.*;
import java.lang.*;
import java.util.*;
public class ffile
{   private Formatter x;
    Scanner sc = new Scanner(System.in);
    int rollno;
    String fname, lname;
    public void get()
    {   System.out.println("Enter rollno: ");
        rollno = sc.nextInt();
        System.out.println("Enter first name: ");
        fname = sc.next();
        System.out.println("Enter last name: ");
        lname = sc.next();
    }
    public void openFile()
    {   try
        {   x = new Formatter("xyz.txt");
        }
        catch(Exception e)
        {   System.out.println("You have an error");
        }
    }
    public void addRecords()
    {   x.format("%s %s %s ", rollno, fname, lname);
    }
    public void closeFile()
    {   x.close();
    }
}

添加记录后,我使用以下代码片段显示它:

Scanner x;
            try
            {   x = new Scanner(new File("Keyur.txt"));
                while(x.hasNext())
                {   String a = x.next();
                    String b = x.next();
                    String c = x.next();
                    String d = x.next();
                    System.out.printf("%s %s %s %s\n", a, b, c, d);                     
                }
                x.close();
            }
            catch(Exception e)
            {   System.out.println("could not find file");
            }

在cmd中显示的输出如下:
1 吉米
2 xyz abc
3 pqr def

实际上我正在我的java框架中运行这个程序。所以我采取所有必要的文本框、标签、按钮。
当我在文本框中输入任何名称时,我想要删除该名称的特定行,例如我输入 xyz,然后从数据库 txt 文件中删除第 2 行 xyz abc。< br/> 我在文本框和第二个文本框 aaa 中写入 pqr,然后我想更新我的 txt 文件中的该记录。

所以如果可能的话,我只想要代码片段,那么它对我也很有用。

最佳答案

尝试在 append mode 中打开流:

FileOutputStream fos = new FileOutputStream("xyz.txt", true);
x = new Formatter(fos);

关于java - 在文本文件中添加多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27484413/

相关文章:

java - 在不知道 Swing 中的修改键的情况下收听斜杠击键

java - 获取远程系统CPU和内存信息

java - 尝试用 Java 解析 org.w3c.dom.Document XML 文档

java - 在搜索中找不到术语,但存在于 Elasticsearch 中的术语 vector 中

javascript - Maven 存储库上的 JQuery 可用性

java - JavaFX TableView 中的遗留 bean 未更新

java - 匹配器断言两个对象

如果函数不起作用的 Java 扫描器

java - 如何使用 illinois-edison 序列化/反序列化

java - Kafka 简单消费者 - 迭代器出错