Shell脚本java程序无法正确写入文件

时间:2015-09-27 10:23:11

标签: java linux shell

我有一个同步两个目录内容的java程序。该程序将两个目录作为参数。

我创建了一个shell脚本来在Linux上运行该程序。当程序第一次运行时,它会在每个目录中创建一个.sync文件,这在Windows上完美运行但是在linux上引起了一些问题。我对linux非常陌生,因此不确定实际发生了什么。

我的程序使用以下代码创建.sync文件...

FileWriter fileDir1 = new FileWriter(dir1 + "\\.sync");
fileDir1.write(obj.toJSONString());
fileDir1.flush();
fileDir1.close();

当我在linux上运行程序时,文件将在两个目录所在的目录中创建,而不是在两个目录中。生成的文件看起来像这样..

dir1\.syncdir2\.sync

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

使用正斜杠/代替转义反斜杠\\,它适用于Windows和Linux。

FileWriter fileDir1 = new FileWriter(dir1 + "/.sync");