gpt4 book ai didi

java - 如何在 FileOutputStream 的 tex 文件上创建新行

转载 作者:行者123 更新时间:2023-12-02 03:37:55 25 4
gpt4 key购买 nike

如何为每个循环创建一个新行?我的程序继续在一行中显示所有内容...或者如何设置 diff 类来从数组写入数据

static void writetofile(studentClass[] students)
{
try(DataOutputStream str= new DataOutputStream(new FileOutputStream("new.txt")) )
{

for(int i=0;i<students.length;i++)
{
str.writeBytes(students[i].getStudentFname()+", ");
str.writeBytes(students[i].getStudentLname()+" ");
str.writeBytes(Integer.toString(students[i].getTestSore()));
str.writeBytes(" ");
str.writeChar(students[i].getGrade());
str.writeBytes("\n");


}
}
catch(Exception e)
{
System.out.println("Error");
}
}

最佳答案

我怀疑您在尝试查看文件时使用了错误的行分隔符:Windows 使用 \r\n 作为行分隔符,*nix 使用 \n 等等

如果您使用值得使用的文本编辑器/查看器来查看文件(即不是记事本),那么这应该不重要 - 它应该检测行分隔符。

<小时/>

您可能会发现使用java.util.Formatter而不是DataOutputStream(以及增强的for循环)更容易:

try (Formatter fmt = new Formatter(new FileOutputStream(...)) {
for (studentClass student : students) {
fmt.format("%s, %s %d %s%n",
student.getStudentFname(),
student.getStudentLname(),
student.getTestSore(),
student.getGrade());
}
}

请注意,这使用 %n,即运行代码的平台的特定于平台的行分隔符。如果您想指定特定的行分隔符,可以使用 \n (或 \r\n 或其他)。

关于java - 如何在 FileOutputStream 的 tex 文件上创建新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37220238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com