简单的PrintToFile程序

时间:2011-11-25 11:59:57

标签: java file-io

我正在尝试在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!");
        }
    }
}

7 个答案:

答案 0 :(得分:2)

这里有一些问题:

  1. 完成output.close();
  2. 后,您需要关闭输出流
  3. 您的类需要一个调用输出例程的主方法void main(String[] args
  4. 输出例程需要包含在方法

答案 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();