当前位置: 首页 > 知识库问答 >
问题:

如何在一个文本文件[duplicate]中存储多个用户名

苏麒
2023-03-14

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

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();
 





  }
  }

共有2个答案

景理
2023-03-14

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

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

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

锺威
2023-03-14

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

替换

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

FileWriter userid = new FileWriter("file path", true);
 类似资料:
  • 问题内容: 我得到一个包含以下内容的文本文件(12 MB): 有什么办法来分流到12个* .txt文件让说,,(......)? 问题答案: 您可以使用linux bash核心实用程序 注意,或两者都OK,但大小不同。MB为1000 * 1000,M为1024 ^ 2 如果要按行分隔,可以使用参数。 更新 Kirill建议的另一种解决方案,您可以执行以下操作 请注意,是不是,有几个选项,比如,,,

  • 问题内容: 在java中如何读一个文本文件? 问题答案: ASCII是一个TEXT文件,因此你将用于读取。还支持使用读取二进制文件。如果正在读取的文件很大,那么你可能希望在上使用来提高读取性能。 仔细阅读本文,了解如何使用 在Java 7中: (docs) 或 (文档) 在Java 8中: (文档)

  • 我正在创建一个不使用数据库的服务。 我将所有的请求数据存储在文件系统中。 我正在使用spring Boot开发服务。

  • 问题内容: 假设我们有许多文本文件,如下所示: 文件1: 文件2: 文件3: 文件4: 我们如何制作一个文本文件,如下所示: 结果: 相关代码可能是: 在这之后?有什么帮助吗? 问题答案: 您可以将每个文件的内容直接读取到输出文件句柄的write方法中,如下所示:

  • 我试图将多个存根组合到一个JSON文件中。 我已经准备好阅读这篇文章:加载wiremock存根文件和这篇文章https://github.com/tomakehurst/wiremock/issues/987https://github.com/tomakehurst/wiremock/issues/987 但我还是做不到。 目前,我有以下课程: 在我的文件夹中,我有: 具有不同存根的文件夹 我想