2017-11-03 27 views
-1

일부 파일을 사용하려고 시도했지만 다음 라인으로 넘어 가지 않습니다. "\ r \ n"또는 bufferedWriter를 사용하면 처음에는 fileWriter 만 사용했습니다.Java의 FileWriter 및 BufferedWriter에서 nextLine하는 방법은 무엇입니까?

어떻게 nextLine()을 만들 수 있습니까? 이 파일들은 유닉스에서 사용될 것이고, 나는 다음 줄로 갈 때 인식되는 문자가 아닌 것을 들었다. 여기

내 프로그램이 모습입니다 :

try { 

    File tempFile = new File(pathFiles + "tmp.txt"); 
    //System.out.println(tempFile);  //TEST 
    FileWriter fw = new FileWriter(tempFile, true); 
    BufferedWriter bw = new BufferedWriter(fw); 
    Reader fr = new FileReader(fileOriginal); 
    BufferedReader br = new BufferedReader(fr); 

    String line = ""; 
    while ((line = br.readLine()) != null) { 

     for (int i = 0; i < arrayToConvert.size(); i++) { 
      line = line.replace(arrayToConvert.get(i), 
        arrayConverted.get(i)); 
     } 
     //line += "\r\n"; 
     //line += "\u240D"; 
     //System.getProperty("line.separator"); 
     //br.readLine().split("[\\r\\n]+"); 
     //br.write(line); 
     bw.write(line); 
     bw.newLine(); 


     //br.readLine().split("[\\r\\n]+"); 
     //line.split("[\\r\\n]+"); 
    } 

    bw.close(); 
    fw.close(); 
    br.close(); 
    fr.close(); 

이 필요한 부분이다. 코멘트에서, 내가 이미 시도한 것.

도움 주셔서 감사합니다.

+0

'br.newLine()'은 작동해야하며 플랫폼에 독립적이지만, 버퍼링 된 기록기 쓰기 및 개행을 for 루프 내에서 호출해서는 안됩니까? 아니면 크게 혼란 스럽습니까? 나 자신, 나는 PrintWriter의'println (...)'메소드를 사용할 것이다. –

+0

'bw.newLine()'은 플랫폼 의존적 인 개행 문자 구분 기호를 씁니다. 항상'\ r \ n '이되는 것은 아닙니다. 너는 그걸 알고 있니? – markspace

+0

파일의 내용을 확인 했습니까? 눈에 보이는 문자조차도? OS에서 파일을 빌드하여 다른 파일에서 읽을 필요가 없습니다. – AxelH

답변

0

PrintWriter에 넣고 println() 방법을 사용하십시오.

PrintWriter pw = new PrintWriter(bw); 

pw.println(line); 
+0

감사합니다. 나는 이것을 시도하고 피드백을 줄 것입니다. – sublimopopo