У меня есть Java-программа, которая может читать несколько файлов и заменять значения соответственно.Однако я изо всех сил пытаюсь применить к нему условие и применить изменения только при соблюдении определенного условия.Например, если файл содержит этот конкретный символ «: 20:», примените изменения, в противном случае оставьте текстовый файл без изменений.Проблема здесь в том, что у меня нет полей для поиска соответствующего условия, поэтому я не знаю, как их можно применить к такому текстовому файлу, который содержит только такие данные, как: (12345555555) 233344 100: 20: aaa.
Я также посмотрел на использование метода contains (), чтобы найти в файле нужное значение, затем применить изменения, но не смог заставить его работать.
public class TextFm
{
public static void main(String[] args)
{
File folder = new File("C:\\tmp");
File[] listOfFiles = folder.listFiles();
for(File file : listOfFiles)
{
replaceText(file);
}
}
public static void replaceText(File file)
{
try
{
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = "", oldtext = "";
while ((line = reader.readLine()) != null)
{
oldtext = oldtext + line + System.lineSeparator();
}
reader.close();
String replacedtext = oldtext.replaceAll("100", "200");
FileWriter writer = new FileWriter(file);
writer.write(replacedtext);
writer.close();
System.out.println("Done");
} catch (IOException ioe)
{
ioe.printStackTrace();
}
}
}