如何在文件java中编写文本。我有10行,我想写每行?到目前为止我这样做了
String filename ="data.txt";
PrinterWriter output= new PrintWriter ( new FileWriter(filename, true));
System.out.println("Please enter the student's data: ");
我希望用户为每个学生添加学生(我希望他们添加他们的名字,学生编号,性别,他们的年份,生日,也许是电话号码2和时间表。)我不知道如何这样做
答案 0 :(得分:0)
您可以这样做:为学生数据HashMap<StudentData>
创建一个hashmap,并将所有用户输入放入HashMap。如果您不希望任何key
识别数据,请使用Vector<StudentData>
收集完所有数据后,遍历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();
}
答案 1 :(得分:0)
您已经创建了Writer对象,您只需要写入该文件即可。如果您在某个数组或Arraylist中存储了元素,那么只需在循环中执行pw.println()
。要接受用户输入,请查看Scanner类E.g。
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");
}
}