用Java实现文件i/o 所以我有一个C++背景,我正在学习java。一切都很相似。我在思考文件I/o时遇到问题。所以我在胡闹,做一些非常简单的程序来获得基本的想法。这是我将数据写入文件的代码。我的代码生成一个文件,但当我打开该文件时,它是空的,并且不包含我告诉它要编写的字符串 package practice.with.arrays.and.io; import java.io.IOException; import java.io.PrintWriter; public class PracticeWithArraysAndIO { public static void main(String[] args) throws IOException { //Declaring a printWriter object PrintWriter out = new PrintWriter("myFile.txt"); out.println("hello"); } }

用Java实现文件i/o 所以我有一个C++背景,我正在学习java。一切都很相似。我在思考文件I/o时遇到问题。所以我在胡闹,做一些非常简单的程序来获得基本的想法。这是我将数据写入文件的代码。我的代码生成一个文件,但当我打开该文件时,它是空的,并且不包含我告诉它要编写的字符串 package practice.with.arrays.and.io; import java.io.IOException; import java.io.PrintWriter; public class PracticeWithArraysAndIO { public static void main(String[] args) throws IOException { //Declaring a printWriter object PrintWriter out = new PrintWriter("myFile.txt"); out.println("hello"); } },java,file-io,Java,File Io,输出是缓冲的,需要flush()ed才能写入文件 package practice.with.arrays.and.io; import java.io.IOException; import java.io.PrintWriter; public class PracticeWithArraysAndIO { public static void main(String[] args) { PrintWriter out = new PrintWriter("my

输出是缓冲的,需要
flush()
ed才能写入文件

package practice.with.arrays.and.io;

import java.io.IOException;
import java.io.PrintWriter;

public class PracticeWithArraysAndIO {

    public static void main(String[] args) {
        PrintWriter out = new PrintWriter("myFile.txt");
        out.println("hello");
        out.flush();
    }

}
但是您不需要显式刷新,因为当您
close()
writer时,无论如何都会发生这种情况,您应该这样做

package practice.with.arrays.and.io;

import java.io.IOException;
import java.io.PrintWriter;

public class PracticeWithArraysAndIO {

    public static void main(String[] args) {
        PrintWriter out = new PrintWriter("myFile.txt");
        try {
            out.println("hello");
        } finally {
            out.close();
        }
    }

}
但您也不需要显式关闭,因为
PrintWriter
实现了
AutoCloseable
,因此您可以使用Java 7的自动资源管理:

package practice.with.arrays.and.io;

import java.io.IOException;
import java.io.PrintWriter;

public class PracticeWithArraysAndIO {

    public static void main(String[] args) {
        try (PrintWriter out = new PrintWriter("myFile.txt")) {
            out.println("hello");
        }
    }

}

尝试将
输出。flush()
after
out.println(“你好”)你是否尝试用谷歌搜索你的问题?实际上,您希望在退出之前关闭编写器:
out.close()谢谢你们的回复。我知道我在java完全是个新手。谢谢你善意的回答。为什么我的问题被否决了。我需要帮助,所以我写了它。我可以在这个网站上问一些简单的问题吗?非常感谢,我真的很感激。我添加了你告诉我的东西,效果很好。我完全忘记了我必须关闭文件。谢谢你的帮助。