【问题标题】:How to store multiple usernames in one textfile [duplicate]如何将多个用户名存储在一个文本文件中[重复]
【发布时间】:2020-09-12 20:02:06
【问题描述】:

我的程序会询问用户的姓名和年龄。用户名是他们的姓名和年龄加上末尾的随机字符。我想将该用户名存储到一个新的文本文件中,但是每当我运行代码时,它一次只写入一个用户名,它不包括我之前添加的用户名。这是我的代码请帮助我,我是新手。

import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;
import java.util.Scanner;
public class Userfile {

private static String name;
private static Scanner scanage;
private static Scanner scan;

public static void main(String[] args) throws IOException {
    Random r = new Random();
    int age;
    String username;
    char randomc = 2;
System.out.println("Please enter your name");

 scan = new Scanner(System.in);
 name = scan.nextLine();
 
 System.out.println("Please enter your age");
 scanage = new Scanner(System.in);
 age = scanage.nextInt();
 username = name.toLowerCase()+age;
 


     String alphabet = "xy!&69£zHDErnABCabcFfGghIiJjKkLlMmNPp";
     for (int i = 0; i < 1; i++) {
     randomc = alphabet.charAt(r.nextInt(alphabet.length()));
     String userId = username + randomc;
     System.out.println("Your Username is " +userId);
    }
       


  FileWriter userid = new FileWriter("file path");

  String userId = username + randomc;
  userid.write("\n" + "Username: " + userId);
  userid.close();
 





  }
  }

【问题讨论】:

  • 提示:始终阅读 javadoc 以了解您使用的新类。 FileWriter 有另一个 ctor 可以告诉它 APPEND 以防文件已经存在。

标签: java text


【解决方案1】:

这是因为您每次都在覆盖文件。

替换

FileWriter userid = new FileWriter("file path");

FileWriter userid = new FileWriter("file path", true);

【讨论】:

  • 非常感谢兄弟,你是个传奇!
  • 你能接受并投票吗:)
  • 您永远不应该使用术语u 来代替your 也是如此。
【解决方案2】:

如果要将文本写入之前已经写入文本的文件,则需要使用 FileWriter(File file,boolean append) 构造函数:

FileWriter userid = new FileWriter("file path", true); //assuming "file path" is the actual path to the file

除此之外,您的程序只要求输入一次,因此如果您想添加多个用户名,则需要多次运行它。或者您可以将您所做的事情包装在一个循环中以多次请求输入。说到循环,你所拥有的一个循环并没有真正的目的,因为它执行的语句将运行一次,就像没有循环包装它们一样。

【讨论】:

  • 我知道,但我不能以任何其他方式生成随机字符,这是我知道的唯一方式,除非你能帮助我,那会很可爱。
  • 从字面上看,你所做的但没有循环会完成同样的事情,正如我所说的。
猜你喜欢
  • 2020-07-23
  • 1970-01-01
  • 1970-01-01
  • 2019-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多