2012-03-14 78 views
6

我正在複製一些CSS類到一個文件。類被複製得非常好,但我有一個問題,當我試圖用記事本打開它時,它會給出一個正方形而不是\n字符。它在Edit +中打開。這裏是我的代碼:記事本不識別 n字符?

String fileName = new File(oldFileName).getName(); 
BufferedWriter out = null; 

FileWriter fw = new FileWriter("D:\\temp\\UPDATED_"+fileName); 
out = new BufferedWriter(fw); 

for (CSSStyleRule p : finlist.values()) { 
    String t = null; 
    String m = p.toString(); 
    if (m.charAt(0) == '*') { 
     t = m.substring(1); 
    } else { 
     t = m; 
    } 

    String main = format(t); 
    out.write(main); 
    out.write("\n"); 
} 

也看到這種格式()函數

private static String format(String input) { 
     int s = input.indexOf('{'); 
     int p = input.indexOf('}'); 
     int w = input.indexOf(';'); 
     if(w==-1) 
     { 
      w=p-1; 
      String []part=input.split("}"); 
     input= part[0].concat(";").concat("}"); 
     } 

     String m = input.substring(0, s).trim().concat("{\n") 
       .concat(input.substring(s + 1, w + 1).trim()) 
       .concat(input.substring(w + 1, p)); 
     String a[] = m.split(";"); 
     String main = ""; 
     for (String part : a) { 
      if (part.contains("rgb")) { 
       part = convert(part); 
      } 
      if(part.contains("FONT-FAMILY") || part.contains("font-family")){ 
       part=process(part); 
      } 

      main = main.concat(part.trim().concat(";")).concat("\n"); 
     } 
     main = main.concat("}"); 
     return main; 

    } 

如何使它顯示正確的記事本?

回答

16

Windows使用\r\n作爲新行。使用line.separator屬性來代替:

public static String newLine = System.getProperty("line.separator"); 
//... 
out.write(newLine); 
+0

感謝您的幫助 – dhananjay 2012-03-14 12:49:38

4

使用System.getProperty("line.separator");,沒有硬編碼"\n",作爲Windows行分隔符是"\r\n"或者,在這種情況下,使用BufferedWriternewLine()方法:

out.write(main); 
out.newLine(); 
+0

如果你考慮這樣的代碼,它是沒有用的main = main.concat(part.trim()。concat(「;」))。concat(「\ n」); – dhananjay 2012-03-14 12:31:56

+0

使用:'main = main.concat(part.trim()。concat(「;」))。concat(System.getProperty(「line.separator」));'? – hmjd 2012-03-14 12:40:43

+0

line.separator應該通過雙引號?? – dhananjay 2012-03-14 12:45:01