要在Java程序中使用Scanner和FileReader實(shí)現(xiàn)對(duì)文件內(nèi)容的搜索,你可以按照以下步驟操作:
1. 導(dǎo)入所需的庫(kù)。
2. 創(chuàng)建一個(gè)File對(duì)象,指向要搜索的文件。
3. 使用FileReader打開文件。
4. 創(chuàng)建一個(gè)Scanner對(duì)象,將FileReader作為參數(shù)傳遞給它。
5. 使用Scanner的nextLine()方法逐行讀取文件內(nèi)容,并檢查每一行是否包含你要搜索的字符串。
6. 如果找到了匹配的字符串,處理相應(yīng)的邏輯(例如打印匹配行的行號(hào))。
7. 關(guān)閉Scanner和FileReader。
以下是一個(gè)簡(jiǎn)單的示例代碼:
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class FileSearch {
public static void main(String[] args) {
// 指定要搜索的文件路徑
String filePath = "example.txt";
// 指定要搜索的字符串
String searchString = "target";
try {
// 創(chuàng)建File對(duì)象
File file = new File(filePath);
// 創(chuàng)建FileReader對(duì)象
FileReader fileReader = new FileReader(file);
// 創(chuàng)建Scanner對(duì)象
Scanner scanner = new Scanner(fileReader);
// 初始化行號(hào)
int lineNumber = 0;
// 逐行讀取文件內(nèi)容
while (scanner.hasNextLine()) {
lineNumber++;
String line = scanner.nextLine();
// 檢查當(dāng)前行是否包含搜索字符串
if (line.contains(searchString)) {
System.out.println("找到匹配項(xiàng)在第 " + lineNumber + " 行: " + line);
}
}
// 關(guān)閉Scanner和FileReader
scanner.close();
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
這段代碼會(huì)在指定的文件中搜索給定的字符串,并打印出包含該字符串的所有行的行號(hào)和內(nèi)容。