2017-08-18 16 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

因爲你,而你只寫最後一行不連接所有的結果。通過

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語句,那麼爲什麼使用UPER?

blig=line.toUpperCase();

它被前人的精力bling的= line.toLowerCase();