在java中创建文本文件并以unix格式保存
我需要编写java代码,以便能够在Unix环境中进行文件操作。由于我需要处理文件,如何以Unix格式在Java中创建和保存文件?Oracle在这方面有很好的文档: “Unix格式”只是一个文本文件,用在java中创建文本文件并以unix格式保存,java,unix,Java,Unix,我需要编写java代码,以便能够在Unix环境中进行文件操作。由于我需要处理文件,如何以Unix格式在Java中创建和保存文件?Oracle在这方面有很好的文档: “Unix格式”只是一个文本文件,用\n表示,而不是\n\r(Windows)或\r(OSX之前的Mac) 这是基本的想法;写每一行,后跟一个明确的\n(而不是依赖于平台): 这个链接可以给你一个简单的想法:不要使用\n或\r\n,而是使用System.getProperty(“line.separator”)。谢谢dimo414和E
\n
表示,而不是\n\r
(Windows)或\r
(OSX之前的Mac)
这是基本的想法;写每一行,后跟一个明确的\n
(而不是依赖于平台):
这个链接可以给你一个简单的想法:不要使用
\n
或\r\n
,而是使用System.getProperty(“line.separator”)
。谢谢dimo414和Eng.Fouad。上面的示例帮助很大。@Eng.Fouad一般来说是正确的,但是如果您想要一个Unix格式的文件,不管您在什么操作系统上,您都需要显式地使用\n
。获取系统的行分隔符意味着您将根据运行程序的操作系统获得不同的行为。
public static void writeText(String[] text){
Path file = Paths.get("/tmp/filename");
try (BufferedWriter bw = Files.newBufferedWriter(file, StandardCharsets.UTF_8)) {
for(String s : text){
bw.write(s);
bw.write("\n");
}
} catch (IOException e) {
System.err.println("Failed to write to "+file);
}
}