2015-06-13 2 views
-4

Я действительно зациклился на этом. У меня есть входной файл say input.txt. содержание input.txt являетсяПоиск предложения в файле java

Using a musical analogy, hardware is like a musical instrument and software is like the notes played on that instrument. 

Теперь я хочу, чтобы поиск по тексту

like a musical instrument 

Как искать выше содержание в input.txt в Java. Любая помощь???

+4

Чистых запросы код письма являются вне темы на переполнении стеки - мы ожидаем, что вопросов здесь, чтобы относиться к * * конкретным задачам программирования - но мы с удовольствием помогут вам написать его самостоятельно! Сообщите нам [что вы пробовали] (http://whathaveyoutried.com), и где вы застряли. Это также поможет нам лучше ответить на ваш вопрос. –

+0

Сэр, на самом деле я действительно не знаю, что я хочу использовать для поиска такого контента в java. –

+0

Вы должны действительно показать некоторые усилия, чтобы решить проблему самостоятельно, прежде чем обращаться за помощью. – hungryghost

ответ

2

Вы всегда можете использовать Строка # содержит() метод для поиска подстрок. Здесь мы будем читать каждую строку в файле один за другим и проверять соответствие строки. Если совпадение найдено, мы прекратим чтение файла и распечатаем Матч найден!

package com.adi.search.string; 

import java.io.*; 
import java.util.*; 

public class SearchString { 

    public static void main(String[] args) { 

     String inputFileName = "input.txt"; 
     String matchString = "like a musical instrument"; 
     boolean matchFound = false; 

     try(Scanner scanner = new Scanner(new FileInputStream(inputFileName))) { 

      while(scanner.hasNextLine()) { 
       if(scanner.nextLine().contains(matchString)) { 
        matchFound = true; 
        break; 
       } 
      } 
     } catch(IOException exception) { 

      exception.printStackTrace(); 
     } 

     if(matchFound) 
      System.out.println("Match is found!"); 
     else 
      System.out.println("Match not found!"); 
    } 
} 
4

Чтобы найти шаблон в java, java предоставляет метод contains() в String. Попробуйте использовать это, Ниже приводится фрагмент кода, которые служат цели,

public static void main(String[] args) throws IOException { 
    FileReader reader = new FileReader(new File("sat.txt")); 
    BufferedReader br = new BufferedReader(reader); 
    String s = null; 
    while((s = br.readLine()) != null) { 
     if(s.contains("like a musical instrument")) { 
      System.out.println("String found"); 
      return; 
     } 
    } 
    System.out.println("String not found"); 
} 
Смежные вопросы