如何在文本文件中添加一个?(Java)

时间:2015-01-31 06:53:06

标签: java netbeans

我试图通过在用户输入信息(小时,分钟,秒......等)时添加一个代码来为用户创建唯一代码。例如,第一用户在输入之后将获得1000,第二用户1002,第三用户1003等等。现在,使用这些代码,第一个用户和其他用户总是得到1002.如何更正?

Integer hour = Integer.parseInt(hourField.getText());
Integer minute = Integer.parseInt(minuteField.getText());
Integer second = Integer.parseInt(secondField.getText());
Integer date = Integer.parseInt(dateField.getText());
Integer month = Integer.parseInt(monthField.getText());
Integer year = Integer.parseInt(yearField.getText());
Integer code= new Integer(1000);
code=new Integer(code.intValue() + 1);


try{

    FileWriter fw= new FileWriter("database.txt",true);
    BufferedWriter bw=new BufferedWriter(fw);
    code ++;
    bw.write(hour+" "+minute+" "+second+" "+date+" "+month+" "+year+"      "+code+"\r\n");
    bw.flush();
    bw.close();

}

2 个答案:

答案 0 :(得分:0)

  

如何更正?

您必须阅读该文件以查找上次使用的代码并从该值开始:

  • 读取文件并解析其内容以查找最后生成的代码,如果文件为空,则使用1000。
  • 增加代码,这为您提供当前用户代码
  • 将更新的代码写入文件

答案 1 :(得分:0)

您可以使用另一个文件code.txt,其中包含最后一个代码(最后一个代码不是所有代码)并通过

进行检索
try{
    InputStream in = new.FileInputStream(new File("code.txt"));
    BufferedReader reader = new BufferedReader(new InputStreamReader(in));
    String code = "";
    String line;
    while ((line = reader.readLine()) != null)   {
        code += line;
    }
    int cd = Integer.parseInt((code));
    reader.close();
 }