Java: PrintWriter - PullRequest
       45

Java: PrintWriter

0 голосов
/ 18 июля 2011

Я пытаюсь использовать 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();
        }       
    }

}

MyFileWriter.java

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 не может.

Может ли кто-нибудь помочь мне понять, что мне здесь не хватает?

1 Ответ

0 голосов
/ 18 июля 2011

Вам, вероятно, нужно очистить вашего автора печати. ​​

Конструктор PrintWriter с параметром FileWriter создает PrintWriter с autoFlush, для которого установлено значение

.

Вызов pw.flush() до pw.close(); должен сделать трюк

...