Java的FileWriter(OS X)存在问题

时间:2014-03-22 18:41:04

标签: java macos filewriter

我正在使用OS X(10.9 Mavericks),我不知道为什么这段代码会给我一个空白输出 - 这意味着它根本没有输出,甚至没有例外。

代码段(使用ItelliJ IDEA创建):

public static void main(String[] args) {
    String textFile = "hello.txt";
    try {
        FileWriter scribe = new FileWriter(textFile, true);
        scribe.write("Hello! Is it me you're looking for?");
        scribe.close();
    }
    catch (IOException iox) {
        System.out.println("ERROR with: " +textFile);
    }
}

经过进一步检查,只是一个错误,'cat'终端命令以某种方式无法找到系统上的文件。感谢所有投入的人:)

2 个答案:

答案 0 :(得分:0)

您是否需要使用FileWriter?

在1.7中添加了java.nio,有更好的方法可以写入文件。

    import java.io.*;
    import java.nio.charset.Charset;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    public class Scribe {
        public static void main(String[] args) throws IOException
        {
            try (BufferedWriter scribe = Files.newBufferedWriter(Paths.get("hello.txt"), Charset.defaultCharset()))
            {
                scribe.write("Hello! Is it me you're looking for?");
            }
        }
    }

尝试一下,看看你是否仍然输出空白。

答案 1 :(得分:-3)

public class WriteToFileExample {
public static void main(String[] args) {
    try {

        String content = "This is the content to write into file";

        File file = new File("/users/filename.txt");

        // if file doesnt exists, then create it
        if (!file.exists()) {
            file.createNewFile();
        }

        FileWriter fw = new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write(content);
        bw.close();

        System.out.println("Done");

    } catch (IOException e) {
        e.printStackTrace();
    }
}
}