Java:PrintWriter
我正在尝试使用PrintWriter.java,但我遇到了一个相当奇怪的问题,我无法找出我在这里缺少了什么 MyPrintWriter.javaJava: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
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:应用程序中没有运行它。我正在读文件。