java的fileWriter()函数是否适用于Linux类型的机器?

时间:2012-06-29 19:30:58

标签: java windows linux

我正在使用java fileWriter()函数。它适用于Windows机器,但不适用于Linux。

所以我想知道fileWriter()函数是否仅适用于Windows,还是存在其他问题?

提前致谢 Enamul

3 个答案:

答案 0 :(得分:7)

我见过类似的报道,有人说文件IO不适用于Linux。问题几乎总是因为他们使用Windows的目录路径分隔符。

String filePath = "my\\file\\path\\File.txt"; // only works on windows
String filePath = "my/file/path/File.txt"; // works on all platforms

确保使用后者,他们甚至可以在Windows上工作(至少从Java内部开始工作)!

答案 1 :(得分:3)

您指的是FileWriter类吗?如果是这样,它在两个系统上都能正确运行,如果没有,你将不得不告诉我们fileWriter()函数的来源。

答案 2 :(得分:0)

FileWriter类适用于两个系统,但请记住Linux和Windows使用不同的路径约定 - 基于UNIX的系统使用正斜杠'/'来分隔目录和fiels,Windows使用反斜杠'\'分开他们。因此,如果在名为“home”的目录中有一个名为“file.txt”的文件,则在Linux中为/home/file.txt,在Windows中为C:\ home \ file.txt,因为您很可能是在Windows上的C:驱动器中。

但是,File类几乎肯定需要创建一个FileWriter,它有四个静态字段 - separatorChar,pathSeparatorChar,separator和pathSeparator - 这些字段由您运行的系统决定。例如,pathSeparator在Linux上为“/”,在Windows上为“\”。请参阅这些字段(如果需要在任一系统中创建文件的路径,则甚至不需要实例化File类型的对象 - 您可以使用File.separatorChar,因为该字段是静态的)。