Java 如何将数组中的数据写入文本文件?

Java 如何将数组中的数据写入文本文件?,java,arrays,Java,Arrays,我正在编写一个简单的程序,要求用户输入他的姓名、姓氏和年龄,然后将其保存到一个文本文件中,但之前的数据会被删除。 我已经在读取文本文件并可以显示它,但我无法将其写入文本文件 这是我正在使用的代码: import java.util.Scanner; import java.io.*; public class UserData{ public static void main (String args[]) throws IOException{ //Initialisations

我正在编写一个简单的程序,要求用户输入他的姓名、姓氏和年龄,然后将其保存到一个文本文件中,但之前的数据会被删除。 我已经在读取文本文件并可以显示它,但我无法将其写入文本文件

这是我正在使用的代码:

import java.util.Scanner;
import java.io.*;
public class UserData{
public static void main (String args[]) throws IOException{
    //Initialisations
    Scanner scan = new 
    Scanner(System.in);
    File UserData = new File(PATH OF FILE);
    BufferedWriter b = new BufferedWriter(new FileWriter(UserData));


    //Reader for Writer Old Data
    String text[] = new String[10];
    int count = 0;
    String path = PATH OF FILE;
    BufferedReader reader = new BufferedReader(new FileReader(path));
    String line = null;
    while ((line = reader.readLine()) != null){
        text[count] = line;
        count++;
    }

    PrintWriter pr = new PrintWriter(PATH OF FILE);    
    for (int I=0; I<text.length ; I++)
    {
        pr.println(text);
    }



    //Writer
    System.out.println("Enter your name");
    String name = scan.nextLine();
    pr.println(name);
    b.newLine();
    System.out.println("Enter your surname");
    String surname = scan.nextLine();
    pr.println(surname);
    b.newLine();
    System.out.println("Enter your age");
    int age = scan.nextInt();
    pr.println(String.valueOf(age));
    pr.close();
}
import java.util.Scanner;
导入java.io.*;
公共类用户数据{
公共静态void main(字符串args[])引发IOException{
//初始化
扫描仪扫描=新
扫描仪(System.in);
File UserData=新文件(文件路径);
BufferedWriter b=新的BufferedWriter(新文件写入程序(用户数据));
//旧数据的读写器
字符串文本[]=新字符串[10];
整数计数=0;
字符串路径=文件的路径;
BufferedReader reader=新的BufferedReader(新文件读取器(路径));
字符串行=null;
而((line=reader.readLine())!=null){
文本[计数]=行;
计数++;
}
PrintWriter pr=新的PrintWriter(文件路径);

for(int I=0;IFileWriter类有一个构造函数

公共文件编写器(文件、,
布尔(追加)
抛出IOException
在给定文件对象的情况下构造FileWriter对象

在代码中-将第9行更改为

BufferedWriter b=new BufferedWriter(new FileWriter(UserData),true);
如果第二个参数为true,则字节将写入文件的末尾而不是开头

规格如下:
FileWriter类有一个构造函数

公共文件编写器(文件、,
布尔(追加)
抛出IOException
在给定文件对象的情况下构造FileWriter对象

在代码中-将第9行更改为

BufferedWriter b=new BufferedWriter(new FileWriter(UserData),true);
如果第二个参数为true,则字节将写入文件的末尾而不是开头

规格如下:

所以您需要将数据附加到当前数据文件中?请参考新的FileWriter(UserData,true);我已经测试了您的代码,它正确地写入了一个文本文件。您必须确保您的文件路径正确!所以您需要将数据附加到当前数据文件中?请参考新的FileWriter(UserData,true);我已经测试了您的代码,它正确地编写了一个文本文件。您必须确保您的文件路径正确!