Porównanie stringów z dwóch plików tekstowych

0

Witam niestety poprzedni wątek został usunięty przez niemiłą wypowiedź osoby, która usiłowała mi pomoc. Niestety wciąż mam problem na Java 8

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
import java.util.stream.Collectors;
 
public class inl {
    public static void main(String[] args) throws IOException {
        String data = Files.lines(Paths.get("teksty.txt"))
                .collect(Collectors.joining());
        List<String> matched = Files.lines(Paths.get("hasla.txt"))
                .filter(data::contains)
                .collect(Collectors.toList());
        for (String match : matched) {
            System.out.println(match);
        }
    }
}

.filter(data::contains) mam podkreślony i taki błąd mi wyskakuje:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
	The method filter(Predicate<? super String>) in the type Stream<String> is not applicable for the arguments (String)
	Syntax error on tokens, delete these tokens

	at inl.main(inl.java:12)

jakieś rozwiązania takiego problemu może ktoś zaoferować?

0

A jak zamienisz ten method reference z filtera na .filter(pass -> data.contains(pass)) ?

0

Wyskakuje "pass cannot be resolved to a variable"

0

Na oko to nadal nie używasz javy 8 po prostu. Jesteś pewien że w ustawieniach projektu zmieniłeś JDK na 8?

0

execution enviroment : mam Java SE-1.7 (java 8 - oracle)
Korzystam eclipse kepler na linuxa

0

ok zainstalowałem Lune
@Shalom mam teraz ale wyskoczył mi taki błąd pomimo że nic nie podkreśla
The declared package "" does not match the expected package "inl" inl.java /inl/src/inl line 1 Java Problem

1

Twój package nie odpowiada strukturze folderów, w której znajduje się plik. Dopisz na górze package inl;

Potem ściągnij normalne IDE, bo każde powinno ci to podpowiedzieć.

0

Przy pomocy znajomego skończyłem program. Oto całe moje wypociny

package inl;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
import java.util.stream.Collectors;
 
public class inl {
	static PrintWriter zapis;
	static int i = 1;
    public static void main(String[] args) {
        String data;
        try {
			zapis = new PrintWriter("znalezione.txt");
		 
			data = Files.lines(Paths.get("teksty.txt")) 
			        .collect(Collectors.joining());

	        List<String> matched = Files.lines(Paths.get("hasla.txt")) ]
	                .filter(data::contains) //wyszukaj podobieństwa
	                .collect(Collectors.toList());
	        for (String match : matched) {
	        	
	        	zapis.println((i) + ". " + match); //zapisz do pliku
	        	i++;
	        }
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		zapis.close();
    }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1