2012-07-17 18 views
6

Tôi cần viết mã java để có thể làm việc trong môi trường Unix cho các thao tác tệp. Khi tôi cần xử lý các tệp, làm cách nào để tạo và lưu tệp ở định dạng Unix trong Java?tạo tệp văn bản và lưu ở định dạng unix trong java

+0

Liên kết này có thể cung cấp cho bạn một ý tưởng ngắn gọn: http://vim.wikia.com/wiki/File_format – Piyush

Trả lời

4

chỉ đơn giản là một file văn bản mà biểu thị line endings với \n thay vì \n\r (Windows) hoặc \r (Mac OSX trước).

Đây là ý tưởng cơ bản; viết từng dòng, tiếp theo là một rõ ràng \n (chứ không phải .newLine() đó là nền tảng phụ thuộc):

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

Thay vì sử dụng '\ n' hoặc' \ r \ n', sử dụng 'System.getProperty (" line.separator ")'. –

+0

Cảm ơn dimo414 và Eng.Fouad. Ví dụ trên đã giúp ích rất nhiều. – Piyush

+2

@ Eng.Fouad Nói chung, đúng, nhưng nếu bạn muốn một tệp định dạng Unix bất kể bạn đang sử dụng hệ điều hành nào, bạn sẽ muốn sử dụng '\ n' một cách rõ ràng. Lấy dấu phân cách dòng của hệ thống có nghĩa là bạn sẽ nhận được hành vi khác nhau tùy thuộc vào hệ điều hành bạn chạy chương trình trên. – dimo414

Các vấn đề liên quan