2017-08-18 12 views
0

私は文字を含むテキストファイルを持っており、それらを下位文字にしたいと思います。コードですが最後の行だけになります複数の行をtxtからどのように変更できますか

BufferedReader in = new BufferedReader(new FileReader("C:\Users\xxx\Desktop\j.txt")); 

     String line; 
     while((line = in.readLine()) != null) 
     { 
      blig=line.toUpperCase(); 
      }  

    try (BufferedWriter writer = new BufferedWriter(new FileWriter("C:\Users\xxx\Desktop\j.txt"))) { 
     writer.write(blig); 
    } 

答えて

0

あなたはファイル全体を走査していますが、最終行を保存しています。すべての行を取得するためには、あなたは、あなたが読んでいるすべての行を格納する大文字に変換し、ファイルに戻って、それらを記述する必要があります。

List<String> upper = new ArrayList<>(); 
try(BufferedReader in = new BufferedReader(new FileReader("C:\Users\xxx\Desktop\j.txt"))) 
{ 
    String line; 
    while((line = in.readLine()) != null) 
    { 
     // upper.add(line.toUpperCase()); // if you need upper case 
     upper.add(line.toLowerCase()); // if you need lower case 
    }  
} 

try(BufferedWriter writer = new BufferedWriter(new FileWriter("C:\Users\xxx\Desktop\j.txt"))) 
{ 
    for(String str : upper) 
    { 
     writer.write(str); 
     writer.newLine(); // remove if not needed. 
    } 
} 
0

あなたがしている間、あなたが最後の行だけを書いているのですべての結果を連結しません。あなたが文字の小文字にしようとしている場合UPERに使用する理由、その後、

blig += line.toUpperCase() + "\\n"; 
0
BufferedReader in = new BufferedReader(new FileReader("C:\Users\xxx\Desktop\j.txt")); 
BufferedWriter writer = new BufferedWriter(new FileWriter("C:\Users\xxx\Desktop\lowerJ.txt")); 

String line; 
while((line = in.readLine()) != null) { 
    writer.write(line.toLowerCase()); 
}  
0

でwhile文を置き換える ?

blig=line.toUpperCase();

はブリング= line.toLowerCase()することがsould。

関連する問題