[英]Unable to read text file in Java using FileReader and BufferedReader
[英]read from a file using BufferedReader, and FileReader
我對Java相對較新,並且對如何使用緩沖讀取器從文件讀取感到好奇。 原因是我要上一堂課,並被分配做一個簡單的終止密碼,我應該解密一個文本文件,創建一個新文件,然后將解密后的文本放入該文件中。 我能夠使用掃描儀和一個10KB的小文件來執行此操作,但是在處理我將要測試的100MB的大文本文件時,速度非常慢。 這是我應該讀取文件內容的代碼。
public static void main(String[] args)
{
BufferedReader br = null;
FileReader file = null;
String line = null;
String all = null;
try
{
file = new FileReader("myfile.txt");
br = new BufferedReader(file);
while ((line = br.readLine()) != null) {
all += line;
}
}catch(Exception e)
{
System.out.println("nope");
}
System.out.println(all);
}
如果有人可以指出我正確的方向,那就太好了。
提前致謝
流式傳輸,請勿將其讀入內存。 另外,我希望嘗試使用資源(因為您需要關閉資源)。 而且您可以隨時調整緩沖區大小,例如-
final int size = 1024 * 1024;
try (BufferedReader br = new BufferedReader(new FileReader("myfile.txt"), size)) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line); // <-- stream it
}
} catch (Exception e) {
e.printStackTrace();
}
而且永遠不要吞下Exception
-“不”不是很有幫助。
Java中的字符串是不可變的,因此每次運行此代碼時
all += line;
它創建一個新的String並分配給所有,使用StringBuider或StringBuffer
例如
StringBuilder all = new StringBuilder();
希望能幫助到你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.