Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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:PrintWriter_Java_Filewriter_Printwriter - Fatal编程技术网

Java:PrintWriter

Java:PrintWriter,java,filewriter,printwriter,Java,Filewriter,Printwriter,我正在尝试使用PrintWriter.java,但我遇到了一个相当奇怪的问题,我无法找出我在这里缺少了什么 MyPrintWriter.java public class MyPrintWriter { public static void main(String[] args) { File myFile = new File("myFileDirectory/myFileName.txt"); try { FileWrit

我正在尝试使用PrintWriter.java,但我遇到了一个相当奇怪的问题,我无法找出我在这里缺少了什么

MyPrintWriter.java

public class MyPrintWriter {

    public static void main(String[] args) {

        File myFile = new File("myFileDirectory/myFileName.txt");
        try {

            FileWriter fw = new FileWriter(myFile);
            PrintWriter pw = new PrintWriter(fw);
            pw.println("Hello World!");

            pw.close();

        }   catch (FileNotFoundException e) {
                System.err.println("File not found: " + myFile);
        }   catch (Exception e) {
                e.printStackTrace();
        }       
    }

}
public class MyFileWriter {
    public static void main(String[] args) {

        File myFile = new File("myFileDirectory/myFileName.txt");
        try {
            InputStreamReader isr = new InputStreamReader(System.in);
            BufferedReader br = new BufferedReader(isr);

            FileWriter fw = new FileWriter(myFile);
            PrintWriter pw = new PrintWriter(fw);

            String input;
            input = br.readLine();
            while(input != null) {
                pw.println(input);
                input = br.readLine();
            }           
            br.close();
            pw.close();

        }   catch (FileNotFoundException e) {
                System.err.println("File not found: " + myFile);
        }   catch (Exception e) {
                e.printStackTrace();
        }       
    }

}
MyFileWriter.java

public class MyPrintWriter {

    public static void main(String[] args) {

        File myFile = new File("myFileDirectory/myFileName.txt");
        try {

            FileWriter fw = new FileWriter(myFile);
            PrintWriter pw = new PrintWriter(fw);
            pw.println("Hello World!");

            pw.close();

        }   catch (FileNotFoundException e) {
                System.err.println("File not found: " + myFile);
        }   catch (Exception e) {
                e.printStackTrace();
        }       
    }

}
public class MyFileWriter {
    public static void main(String[] args) {

        File myFile = new File("myFileDirectory/myFileName.txt");
        try {
            InputStreamReader isr = new InputStreamReader(System.in);
            BufferedReader br = new BufferedReader(isr);

            FileWriter fw = new FileWriter(myFile);
            PrintWriter pw = new PrintWriter(fw);

            String input;
            input = br.readLine();
            while(input != null) {
                pw.println(input);
                input = br.readLine();
            }           
            br.close();
            pw.close();

        }   catch (FileNotFoundException e) {
                System.err.println("File not found: " + myFile);
        }   catch (Exception e) {
                e.printStackTrace();
        }       
    }

}
MyPrintWriter.java正在愉快地写入myFileName.txt文件,但是MyFileWrite.java不能

有人能帮我理解我在这里遗漏了什么吗?

你可能需要找到你的印刷作家

创建一个将
autoFlush
设置为off的PrintWriter


pw.close()之前调用
pw.flush()
应该会起作用

调用
pw.close()
意味着
pw.flush()
!无需在
close()
之前调用
flush()
autoFlush
只意味着在
println
之后将自动调用
flush()
。@Nivas和@Joachim:
while(input!=null){pw.println(input);pw.flush();input=br.readLine();}
works:@skip:应用程序仍在运行时,您正在读取文件吗?如果这是您需要的,那么
autoFlush
实际上可能就是您需要的。如果应用程序停止时(或调用
close()
时)只需要一个完整的文件,那么问题中的当前代码就足够了。@Joachim:应用程序中没有运行它。我正在读文件。