-1

鉴于:

try{
FileWriter fw = new FileWriter(someFileName);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("Hello Java");
}catch...
}finally{
bw.close();
}

它在 Windows 中完美运行,但在 Unix 中却不行。备注:在unix中创建的文件拥有完整的777权限!

我应该怎么做才能让它在 unix 中工作?

谢谢,罗克珊娜

4

2 回答 2

2

您应该给我们更多代码,特别是指定 someFileName 的部分。由于 Java 对“文件分隔符”的处理方式存在一些差异,因此您的问题可能是您正在 Windows 中创建/打开文件,但它不在 unix 上……而您的“catch”是处理它,但你没有提供它的内容。

看看这里

"file.separator" --> 分隔文件路径组件的字符。这是 UNIX 上的“/”和 Windows 上的“\”。

于 2013-08-14T15:33:55.327 回答
2

尝试做一个

bw.flush();

在关闭文件之前(在 try 块上)。

也许信息仍在缓冲区中,因此不会反映在文件内容上

于 2013-08-14T15:36:20.637 回答