java_json_xml_projekt1/src/main/java/company/DataSaver.java

97 lines
2.6 KiB
Java

package company;
import java.io.*;
public class DataSaver {
public DataSaver(String fileName) {
_fileName = fileName;
}
public void deleteFileIfExists() {
File fileToDelete = new File(_fileName);
if (fileToDelete.exists())
fileToDelete.delete();
}
public void deleteRowIfPeselExists(String pesel) throws IOException {
File file = new File(_fileName);
if (!file.exists())
return;
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
int lineNumber = 0;
int lineToDelete = -1;
String line = null;
String lines = "";
boolean containsPesel = false;
while (true) {
lineNumber++;
line = bufferedReader.readLine();
if (line == null)
break;
if (line.contains(pesel)) {
containsPesel = true;
continue;
}
lines += line + "\n";
}
if (!containsPesel)
return;
fileReader.close();
bufferedReader.close();
FileWriter fileWriter = new FileWriter(file, false);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
bufferedWriter.write(lines);
bufferedWriter.close();
fileWriter.close();
}
public void savePersonalDataToFile(String city, String personalData) throws IOException {
File file = new File(_fileName);
FileWriter fileWriter = new FileWriter(file, true);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
bufferedWriter.write(city + ", " + personalData + "\n");
bufferedWriter.close();
fileWriter.close();
}
private int getLineNumberWithText(File file, String stringToSearch) throws IOException {
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line = null;
int lineNumber = 0;
int lineToDelete = -1;
while (true) {
lineNumber++;
line = bufferedReader.readLine();
if (line == null)
break;
if (line.contains(stringToSearch)) {
lineToDelete = lineNumber;
break;
}
}
fileReader.close();
bufferedReader.close();
return lineToDelete;
}
private String _fileName;
}