Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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
Java 输出流不';不要打印任何东西_Java_Outputstream_Printwriter - Fatal编程技术网

Java 输出流不';不要打印任何东西

Java 输出流不';不要打印任何东西,java,outputstream,printwriter,Java,Outputstream,Printwriter,所以我得到了这个示例代码,但奇怪的是它根本不起作用,因为当我打开文本文件时。它完全是空白的。怎么可能呢?是因为输出。关闭吗?我注释掉了那个部分,但它仍然不起作用。为什么使用: outputStream=新的PrintWriter(新的BufferedWriter(新的PrintWriter(“text.txt”)) 为什么不直接使用: PrintWriter outputStream=新的PrintWriter(“text.txt”) 在关闭流之前编写println语句 public class

所以我得到了这个示例代码,但奇怪的是它根本不起作用,因为当我打开文本文件时。它完全是空白的。怎么可能呢?是因为输出。关闭吗?我注释掉了那个部分,但它仍然不起作用。

为什么使用:

outputStream=新的PrintWriter(新的BufferedWriter(新的PrintWriter(“text.txt”))

为什么不直接使用:


PrintWriter outputStream=新的PrintWriter(“text.txt”)

在关闭流之前编写println语句

public class Demo
{
    public static void main(String[] args)
    {
        PrintWriter outputStream= null;
        try
        {
            outputStream = new PrintWriter (new BufferedWriter(new PrintWriter("text.txt")));
        }
        catch(FileNotFoundException e)
        {
            System.out.println("Error");
            System.exit(0);
        }
        finally {
                if (outputStream!= null)
                    outputStream.close(); 
        }


        outputStream.println("Hahahahaha");



    }
}

在写入之前,您正在关闭
outputStream

请注意,
finally
总是在try块退出时执行。 因此,在退出
try
块之前,必须先写入
outputStream

关闭它,您将看到您输入的文本

public class Demo
{
    public static void main(String[] args)
    {
        PrintWriter outputStream = null;
        try
        {
            outputStream = new PrintWriter (new BufferedWriter(new PrintWriter("text.txt")));
        outputStream.println("Hahahahaha");
        }
        catch(FileNotFoundException e)
        {
            System.out.println("Error");
            System.exit(0);
        }
        finally {
                if (outputStream != null)
                    outputStream.close(); 
        }
    }
}

在哪里声明了
outputStream
?你是说
输出
?而且,如果你关闭它,你就不能再给它写信了。是的,我一直在想。。。这没有道理,但为什么有人会给我这个作为演示代码?我认为这是一个糟糕的样本。我相信有很多关于如何写入文件的Java教程!也许你可以看看这个:
try
{
    outputStream = new PrintWriter (new BufferedWriter(new PrintWriter("text.txt")));
    outputStream.println("Hahahahaha");
}
catch(FileNotFoundException e)
{
    System.out.println("Error");
    System.exit(0);
}
finally {
    if(outputStream != null)
       outputStream.close();
}