通过用户输入在java中写入文件
如何在java文件中编写文本。我有10行,每行我都要写?到目前为止我都是这么做的通过用户输入在java中写入文件,java,Java,如何在java文件中编写文本。我有10行,每行我都要写?到目前为止我都是这么做的 String filename ="data.txt"; PrinterWriter output= new PrintWriter ( new FileWriter(filename, true)); System.out.println("Please enter the student's data: "); 我希望用户为每个学生添加学生(我希望他们添加他们的名字、学生号码、性别、年
String filename ="data.txt";
PrinterWriter output= new PrintWriter ( new FileWriter(filename, true));
System.out.println("Please enter the student's data: ");
我希望用户为每个学生添加学生(我希望他们添加他们的名字、学生号码、性别、年份、生日、可能的电话号码2和时间表)。我不知道如何做到这一点。您可以这样做:为学生数据
hashmap
创建一个hashmap,并将所有用户输入放入hashmap。如果您不希望任何键
识别数据,我会使用向量
收集完所有数据后,遍历HashMap/Vector并将其写入文件
要写入文件,您需要使用write
public void writeData()
{
FileWriter output= new FileWriter("data.txt", true);
// iterate through hashmap/vector and store value in a variable or just write directly
ouput.write(value);
output.close();
}
您已经创建了Writer对象,只需写入文件即可。如果在某个数组或Arraylist中存储了元素,则只需在循环中执行
pw.println()
。为了接受用户输入,请查看类,例如
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class WriteToFile {
public static void main(String[] args) throws IOException {
PrintWriter pw = new PrintWriter(new FileWriter("output.txt"));
Scanner scanner = new Scanner(System.in);
System.out.println("enter n to finish");
String text = "";
while (!text.equals("n")) {
System.out.println("enter first name");
text = scanner.next();
pw.write(text + ",");
System.out.println("enter last name");
text = scanner.next();
pw.write(text + ",");
System.out.println("enter sex");
text = scanner.next();
pw.write(text);
//add more fields
//finally
pw.println();
System.out.println("Continue?");
text = scanner.next();
}
pw.close();
System.out.println("completed");
}
}
这与写入控制台相同。你只需要再写一些代码,看看你的家庭作业做得怎么样。每行我该怎么做?因为我的老师只教我们像名字一样写创建
学生
对象将所有值分配给这个对象,然后将它们添加到列表
,使用这个列表
当你想将数据放入文件时,我可以这样做吗?将用户输入分配到特定的行,例如,如果用户输入学生的姓氏,它将转到第[0]行?处理多行时,通常需要一个循环。希望你能找到如何使用循环,即使你的老师没有介绍。具体细节取决于数据的输入方式和表示方式。注意:我们不能只给你一个答案,因为对于家庭作业来说,根据我们不知道的所教内容给出预期的答案是很重要的。你能解释一下你到底想用它来实现什么吗?嗯,一行一行地做是很困难的。如果用户按return键,则需要写入数据,并且写入命令太多。我建议找出一种方法将数据存储在某个变量中,然后写入。但是我希望用户输入,我给你的信息就像数据一样。我希望用户为每个学生添加学生(我希望他们添加他们的名字、学生号码、性别、年份、生日,可能还有电话号码2和时间表)我不知道怎么做。就像我在帖子上提供的数据一样,有没有一个简单的方法可以做到这一点?ik u做了很多工作,因为我不明白,我的老师会问我很多问题。我能用for loop做这个吗?@Pokemonmaster我没怎么玩它。