0

这是我的Java代码。

File file = new File(path);
StringWriter sw = new StringWriter();
//Do something.
out.println(sw.toString()); //Works fine; prints.
try {
        FileUtils.writeStringToFile(file, sw.toString(), "UTF-8");
    } catch (IOException e) {
        throw new RuntimeException( e );
    }

我还没有创建文件,也没有在执行后创建它。我怎样才能做到这一点?

4

3 回答 3

2

File.createNewFile()

当且仅当具有此名称的文件尚不存在时,以原子方式创建以此抽象路径名命名的新的空文件。..

正如@JohnWatts 在评论中提到的:

..bothPrintWriter和您的代码都会创建文件,但 1.3 之前的版本FileUtils.writeStringToFile不会。

于 2012-09-04T11:15:53.417 回答
1

不要使用StringWriterPrintWriter而是使用:

 PrintWriter w = new PrintWriter(file);
 w.print(string);
 w.flush();
 w.close()
于 2012-09-04T11:17:04.467 回答
1

I checked the code and it works.

我能想到的唯一问题是path价值。尝试使用硬编码的路径值。因为我怀疑文件正在被创建而你找不到它。

于 2012-09-04T11:25:01.110 回答