0

Format クラスを使用して、この単純なテキスト ファイル (行の長さは 80) を右揃えにします。

各空白は [TAB]

|Text|EOL                                                                   
|   Text    Text|EOL                                                        
|       Text    Text    Text|EOL                                            
|           Text    Text    Text    Text|EOL                                
|               Text    Text    Text    Text    Text|EOL                    
|                   Text    Text    Text    Text    Text    Text|EOL        
|                       Text    Text    Text    Text    Text    Text|EOL    
|                           Text    Text    Text    Text    Text    Text|EOL                            

ここに私が書いたコードがあります:

public static void justify(){
    try(
            BufferedReader in = new BufferedReader(new FileReader("C:\\Users\\Szymon\\Desktop\\textfile.txt"));
            PrintWriter out = new PrintWriter("C:\\Users\\Szymon\\Desktop\\textout.txt")
    ) {
        while(in.ready()){
            String line = in.readLine();

            out.format("%80s\n", line.trim()); // ?
        }
    } catch (Exception e){
        e.printStackTrace();
    }
}

しかし、出力は私が期待したものではありません:

|                                                                            Text|EOL
|                                                                      Text Text|EOL
|                                                                  Text Text    Text|EOL
|                                                             Text  Text    Text    Text|EOL
|                                                        Text   Text    Text    Text    Text|EOL
|                                                   Text    Text    Text    Text    Text    Text|EOL
|                                                   Text    Text    Text    Text    Text    Text|EOL
|                                                   Text    Text    Text    Text    Text    Text|EOL     

私は何を間違っていますか?

4

0 に答える 0