[英]Reading different file one after another using BufferedReader in Java
我正在使用BufferedReader來讀取Java中的文件。
以下是代碼段:
String line;
br = new BufferedReader(new FileReader("file1.txt"));
while ((line = br.readLine()) != null) {
System.out.println(line);
}
//Here I want to open file named "file2.txt".
如上面的代碼片段所述,我現在想打開一個新文件。
最好的方法是什么?
我應該首先使用br.close關閉br,然后再次初始化br還是什么?
PS:我是Java新手。
創建方法將使您的代碼模塊化且易於使用。 這將導致代碼的可重用性和易於理解。 這是示例代碼:
public static void main(String args[]) {
readFile("C:\\sample.txt");
}
public static void readFile(String filename) {
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader(filename));
while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
我會做一個方法,並兩次調用它
void readFile(String fileName) throws IOException {
try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
...
}
}
請注意, BufferedReader
實例br
將自動關閉,並確保為此使用JDK 7
文件I / O操作在內部使用Decorator模式。 因此,最外層對象上的.close()
應該關閉所有內部I / O
是的,先關閉它,但是使用此模式...
BufferedReader br = null;
String line;
try {
br = new BufferedReader(new FileReader("file1.txt"));
while ((line = br.readLine()) != null) {
System.out.println(line);
}
}
finally {
if (br != null) br.close();
}
//Here I want to open file named "file2.txt".
或者, 嘗試資源的方法(在本質上等同於上述方法)...
String line;
try (BufferedReader br = new BufferedReader(new FileReader("file1.txt")) {
while ((line = br.readLine()) != null) {
System.out.println(line);
}
}
//Here I want to open file named "file2.txt".
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.