2012-07-17 73 views
6

我需要编写Java代码才能在Unix环境中工作以进行文件操作。由于我需要处理文件,我如何在Java中以Unix格式创建和保存文件?在java中创建文本文件并保存为unix格式

+0

此链接可以给你一个简单的理念: http://vim.wikia.com/wiki/File_format – Piyush 2012-07-17 21:04:59

回答

4

的 “Unix格式” 只是表示line endings\n代替\n\r(Windows)或\r(OSX之前的Mac)的文本文件。

这是基本的想法;写每一行,其次是明确的\n(而不是.newLine()这是与平台相关的):

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); 
    } 
} 
+3

不是使用'\ n'或'\ r \ n',而是使用'System.getProperty(“line.separator”)'。 – 2012-07-17 21:24:29

+0

感谢dimo414和Eng.Fouad。上面的例子帮了很大忙。 – Piyush 2012-07-17 21:30:21

+2

@ Eng.Fouad一般来说,这是真的,但如果你想要一个Unix格式的文件,不管你在哪个操作系统上,你都会明确地使用'\ n'。获取系统的行分隔符意味着您将得到不同的行为,具体取决于您运行该程序的操作系统。 – dimo414 2012-07-17 22:19:23

相关问题