Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在.txt文件(java)的第二行写入_Java_File_Formatting_Filewriter - Fatal编程技术网

如何在.txt文件(java)的第二行写入

如何在.txt文件(java)的第二行写入,java,file,formatting,filewriter,Java,File,Formatting,Filewriter,我想在一个.txt文件中写几个参数,并对它们进行排序。要做到这一点,我想为每一个论点转到下一行,但我不知道怎么做。我尝试了以下方法: x.nextLine() 语句,但这仅用于扫描,不用于格式化 格式化时如何转到文件的下一行?还有其他声明吗 这是我创建的代码: try{ w = new Formatter("data.txt"); } catch(Exception e){ JOptionPane.showMessageDialog(null, "Fatal Error,

我想在一个.txt文件中写几个参数,并对它们进行排序。要做到这一点,我想为每一个论点转到下一行,但我不知道怎么做。我尝试了以下方法:
x.nextLine()
语句,但这仅用于扫描,不用于格式化

格式化时如何转到文件的下一行?还有其他声明吗

这是我创建的代码:

try{
    w = new Formatter("data.txt");
}
catch(Exception e){
        JOptionPane.showMessageDialog(null, "Fatal Error, please Reboot or reinstal program", "Error", JOptionPane.PLAIN_MESSAGE);
}

w.format("%s,%s,%s,%s%n", book,code,author,editor);
w.close();
你写

w.format("%s,%s,%s,%s%n", book,code,author,editor);
我假设你想要一个换行符,在这里你写%n。但是换行符是\n,所以请将代码更改为

w.format("%s,%s,%s,%s\n", book,code,author,editor);
此外,您可能需要修改程序中的错误捕获逻辑:现在如果打开文件失败,您将显示一条错误消息,这是很好的,但之后您的程序将继续执行,并将在第一次写入操作时崩溃并烧掉

编辑:每次执行行
w.format(“%s,%s,%s,%s\n”、书籍、代码、作者、编辑器)只要不关闭文件或重新启动程序,以新行结尾的行将添加到文件中,因为:

fileName—用作此格式化程序目标的文件的名称。如果文件存在,则将被截断为零大小;否则,将创建一个新文件。输出将写入文件并进行缓冲

因此,如果您需要一个增长而不是被覆盖的文件,您应该使用其他可用的构造函数之一,例如。这将导致以下代码:

FileWriter fstream = new FileWriter("data.txt",true);
Formatter w = new Formatter(fstream);

// do whatever your program needs to do

w.close();

当然,它被必要的异常处理所包围。

这一点非常不清楚。也许,如果您提供一些示例,说明您正在尝试如何处理数据,这会有所帮助。我们需要查看实际的代码,以了解您想要说的内容。是否要在文件中正确排序?这也是你所说的“格式化”吗?x.nextLine()中的“x”是什么类;?在这里,下一行中的x表示指向文件的指针。格式化是用javaokey编写的谢谢,我会在错误信息处理后结束程序,我会好起来的。我仍然不是我想要的。很抱歉我的评论太晚了,但我的网络断了。我意识到我需要多次写入它(所以不是格式化,在我不知道格式化之前),我如何才能让它多次写入it@codermaster看一看我的编辑,这解决了你的问题吗?那么第二行实际上写到了它。@codermaster你的意思是你现在得到了你需要的结果了吗?