java中.txt文件的打印输出出现问题

java中.txt文件的打印输出出现问题,java,Java,我用netbeans编写了一个程序,但不能用.txt文件打印。 indead,我的编程代码确实工作正常。 我认为问题在于最后几行代码。 这是我的密码: import java.io.*; 导入java.util.*; 公共类converttopathbased_bfs { 静态字符串启动; 静态串端; 静态int节点数; 静态整数弧; 商品的静态整数; 静态int-origindestinationofcommodies[][]=新int[numberOfCommodities][2]; 静态

我用netbeans编写了一个程序,但不能用.txt文件打印。 indead,我的编程代码确实工作正常。 我认为问题在于最后几行代码。 这是我的密码:


import java.io.*;
导入java.util.*;
公共类converttopathbased_bfs
{
静态字符串启动;
静态串端;
静态int节点数;
静态整数弧;
商品的静态整数;
静态int-origindestinationofcommodies[][]=新int[numberOfCommodities][2];
静态int邻域[][]=新int[numberOfNodes][numberOfNodes];
静态int variableCosts[][]=新int[numberOfNodes][numberOfNodes];
静态整数容量[][]=新整数[numberOfNodes][numberOfNodes];
静态整型固定成本[][]=新整型[numberOfNodes][numberOfNodes];
静态int-demandofcomodities[]=新int[numberOfCommodities];
java.io.File File=new java.io.File(“pathBasedTest.txt”);
java.io.PrintWriter输出;
公共静态void main(字符串[]args)引发异常
{
java.io.File data=新的java.io.File(“samples//test.txt”);
扫描仪=新扫描仪(数据);
numberOfNodes=scanner.nextInt();
numberOfArcs=scanner.nextInt();
numberOfCommodities=scanner.nextInt();
图形=新图形();
对于(int i=0;i


主要问题是每次调用
breadhtfirst
时,您都在创建
output
。您应该在代码开始时只创建一次,然后在代码结束时关闭它

output.close();
您可能希望看到最后几行:

for (String node : visited)
{
    output.printf("%s ", node);
}
output.println();
但我们需要更多的信息来确定

您还需要在代码末尾关闭该文件

output.close();

主要问题是每次调用
breadhfirst
时,您都在创建
output
。您应该在代码开始时只创建一次,然后在代码结束时关闭它

output.close();
您可能希望看到最后几行:

for (String node : visited)
{
    output.printf("%s ", node);
}
output.println();
但我们需要更多的信息来确定

您还需要在代码末尾关闭该文件

output.close();

尝试关闭文件流:

output.close()

尝试关闭文件流:

output.close()

您需要添加以下两行:

output.flush();


output.close();

将其转换为BufferedWriter并使用append方法。

您需要添加以下两行:

output.flush();


output.close();

将其转换为BufferedWriter并使用append方法。

要正确格式化代码,请选择它并按CTRL+K。您看到了什么问题?预期输出是什么,实际输出是什么?要正确格式化代码,请选择它并按CTRL+K。您看到了什么问题?预期的输出是什么,实际的输出是什么?它不工作。创建了.txt文件,但没有写入任何内容。如果看不到它,您需要在
printf
中的“s”之前添加一个
%
字符。我知道了,谢谢,我把它放在了“breadthFirst”方法的最后一个。但是,并没有写入所有输出,只写入字符串的最后一行。我现在不知道该写在哪里?@rahim,我会把它放在主方法的顶部。这样,您就知道它是在您需要时创建的,并且您不必担心再次创建它。但是输出是非静态的,不能放在静态方法中。它不工作。创建了.txt文件,但没有写入任何内容。如果您看不到它,您需要在
printf
中的“s”之前添加一个
%
字符。我知道了,谢谢,我把它放在了“breadthFirst”方法的最后一个。但是,并没有写入所有输出,只写入字符串的最后一行。我现在不知道该写在哪里?@rahim,我会把它放在主方法的顶部。这样,您就知道它是在您需要时创建的,并且您不必担心再次创建它。但是输出是非静态的,不能放在s中