我正在尝试在Eclipse中编写一个简单的java程序,将这四行打印到文件“hello.txt”中。问题是,没有任何事情发生,它不会创建一个新文件,如果我创建一个名为“hello.txt”的文件,程序不会覆盖它。我究竟做错了什么?谢谢你的回答。 :)
import java.io.*;
public class output {
{
try{
PrintStream output = new PrintStream(new File("hello.txt"));
output.println("Hello World!");
output.println("this is ");
output.println("four lines of");
output.println("text.");
}catch(FileNotFoundException e){
System.out.println("Cannot write file!");
}
}
}
答案 0 :(得分:2)
这里有一些问题:
output.close();
void main(String[] args
答案 1 :(得分:1)
output.close();
或
output.flush();
如果您不关闭流,则不会将它们保存到磁盘。
答案 2 :(得分:0)
正确的方法是这样的
import java.io.*;
class PrintStreamDemo {
public static void main(String args[]){
FileOutputStream out;
PrintStream ps; // declare a print stream object
try {
// Create a new file output stream
out = new FileOutputStream("myfile.txt");
// Connect print stream to the output stream
ps = new PrintStream(out);
ps.println ("This data is written to a file:");
System.err.println ("Write successfully");
ps.close();
} catch (Exception e){
System.err.println ("Error in writing to file");
}
}
}
答案 3 :(得分:0)
您应该添加output.close();
try{
PrintStream output = new PrintStream(new File("hello.txt"));
output.println("Hello World!");
output.println("this is ");
output.println("four lines of");
output.println("text.");
output.close();
}catch(FileNotFoundException e){
System.out.println("Cannot write file!");
}
答案 4 :(得分:0)
我只是在Windows上运行你的代码将它放在main方法中并且它可以工作(它创建文件)。尝试使用绝对路径,也许你正在检查错误的目录。 你也应该打电话给
output.close();
答案 5 :(得分:0)
首先,如果文件不存在,则必须创建文件。然后,您可以创建PrintStream-Object并在其中编写您喜欢的内容。最后不要忘记刷新并关闭流。
try{
File f = new File("C:/hello.txt");
if (!f.exists()){
f.createNewFile();
}
PrintStream output = new PrintStream(f);
output.println("Hello World!");
output.println("this is ");
output.println("four lines of");
output.println("text.");
output.flush();
output.close();
}catch(FileNotFoundException e){
System.out.println("Fil kan ikke skrives!");
} catch (IOException e) {
e.printStackTrace();
}
答案 6 :(得分:0)
你需要写output.close();