2016-10-07 6 views
0

텍스트 파일의 서식을 지정하려고합니다. 새 알리 니아를 시작하는 데 사용되는 문자를 제외한 모든 새 행 문자를 삭제하려고합니다. 텍스트 파일의 줄을 공백으로 유지하고 싶지만 다른 줄 바꿈은 모두 삭제해야합니다.텍스트 파일 서식 지정 java

import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.PrintWriter; 
import java.util.Scanner; 


public class Formatting { 
    public static void main(String[] args) throws FileNotFoundException { 
     Scanner in = new Scanner(System.in); 
     System.out.println("give file name: "); 
     String filename = in.next(); 
     File inputfile = new File(filename); 
     Scanner reader = new Scanner(inputfile); 
     String newline = System.getProperty("line.separator"); 

     PrintWriter out = new PrintWriter("NEW " + filename); 

     while(reader.hasNextLine()) { 
      String line = reader.nextLine(); 


      if (line.length() > 2 && line.contains(newline)) { 
       String replaced = line.substring(0,line.length()) + ' '; 
       out.print(replaced); 
      } 
      else { 
       out.print(line + ' '); 
      } 

     } 
     in.close(); 
     out.close(); 
    } 
} 

을하지만 지금 내 첫 번째 문이 실행되지 없구요 경우 : 여기

는 내가 지금까지 가지고있는 것입니다. 모든 개행 문자가 삭제됩니다.

아무도 나를 도와 줄 수 있습니까? 대단히 감사하겠습니다.

답변

1

이것은 도움이 될 수 있습니다. 의견을 읽고 각 행의 용도를 파악하십시오. 하나의 줄 바꿈

  line = line.replaceAll("[\\n]+", "\n"); 


      // 1. compress all non-newline whitespaces to single space 

      line = line.replaceAll("[\\s&&[^\\n]]+", " "); 


      // 2. remove spaces from begining or end of lines 
      line = line.replaceAll("(?m)^\\s|\\s$", ""); 

// 3. 압축 여러 줄 바꿈