Hi.
It is my first day about regex and I already encounter problem. How may I swap some values? If I find dot I want to replace it for exclamation mark. Please explain and help me.
Thanks
package pl.codegym.task.task19.task1909;
/*
Zmiana znaków interpunkcyjnych
*/
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file1 = reader.readLine();
String file2 = reader.readLine();
reader.close();
FileReader fileReader = new FileReader(file1);
FileWriter fileWriter = new FileWriter(file2);
BufferedReader bufferedReader = new BufferedReader(fileReader);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
String find = "\\.";
String replace = "\\!";
while (fileReader.ready()) {
int data = fileReader.read();
Pattern pattern = Pattern.compile(find);
Matcher matcher = pattern.matcher(String.valueOf(data));
if (matcher.find()) {
matcher.replaceFirst(replace);
}
bufferedWriter.write(data);
}
bufferedReader.close();
//fileReader.close();
//fileWriter.close();
bufferedWriter.close();
}
}
/*Wczytaj 2 nazwy plików z konsoli.
Pierwszy plik zawiera tekst.
Odczytaj zawartość pierwszego pliku i zmień wszystkie kropki (".") na wykrzykniki ("!").
Następnie wyprowadź wynik do drugiego pliku.
Zamknij strumienie.
Wymagania:
• Program powinien odczytać nazwy plików z konsoli (użyj BufferedReader).
• BufferedReader używany do odczytu danych wejściowych z konsoli musi zostać zamknięty po jego zastosowaniu.
• Program musi odczytywać zawartość pliku (użyj konstruktora BufferedReader z parametrem FileReader).
• Strumień wejściowy pliku (BufferedReader) musi zostać zamknięty.
• Program musi zapisywać zawartość pierwszego pliku do drugiego pliku, zastępując wszystkie kropki (".") wykrzyknikami ("!") (użyj konstruktora BufferedWriter, który przyjmuje argument FileWriter).
• Strumień wyjściowy pliku (BufferedWriter) musi zostać zamknięty.*/