0
나는 텍스트 파일에서 빈 줄을 읽고 제거하는 BufferedReader
과 BufferedRriter
을 가지고있다. 그것은 내 인생이 그것을 끝내는 좋은 해결책을 찾을 수 없다는 것을 제외하고는 모두 잘 작동합니다. 버퍼 된 리더 및 라이터를 사용하여 텍스트 파일의 빈 줄을 제거합니다. 그러나 나는 항상 마지막 줄을 비워 둔다.
public static void cleanUpData(){
File inputFile = new File("C:\\Users\\student\\workspace\\EmployeePunch\\src\\EmployeeData.txt"); // Your file
File tempFile = new File("C:\\Users\\student\\workspace\\EmployeePunch\\src\\EmployeeDataNew.txt");// temp file
BufferedReader reader = null;
BufferedWriter writer = null;
try{
reader = new BufferedReader(new FileReader(inputFile));
writer = new BufferedWriter(new FileWriter(tempFile,true));
String currentLine;
while((currentLine = reader.readLine()) != null) {
if(currentLine.equals("")) continue;
writer.append(currentLine+"\n");
}
}
catch (IOException e) {
e.printStackTrace();
}finally{
try {
reader.close();
inputFile.delete();
writer.close();
boolean successful = tempFile.renameTo(inputFile);
System.out.println(successful);
validateEmployee();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
나는 그것을하고있는 이유는
writer.append(currentLine+"\n");
의되고 있습니다하지만 다른 솔루션이 마지막 줄에서 중지하는 것 알아?
+"\n"
을 사용하지 않으려면 마지막 줄 바로 앞에 언제 있는지 알 수있는 방법이 있습니까?
; 간단한 실수 ... BufferedReader.lines(). count()를 호출하여 비교하려고 시도하여 더 많은 합병증을 일으키고있었습니다 ... 휴식을 취할 필요가 있습니다, 감사합니다! – Tukajo