BufferedWriter가 데이터를 완전히 출력하지 않음
Java에서 BufferedWriter 클래스는 일반적으로 디스크에 텍스트를 쓰는 데 사용됩니다. 성능 향상을 위해 버퍼링 기술을 사용하지만 의도한 모든 데이터를 출력 파일에 쓰지 못하는 경우가 있습니다.
이러한 경우 중 하나는 BufferedWriter 버퍼가 기본 크기를 초과할 때 발생합니다. 기본적으로 버퍼 크기는 수백 줄의 데이터를 쉽게 수용할 수 있는 8192자로 설정됩니다. 그러나 데이터 양이 버퍼 용량을 초과하는 경우 버퍼가 명시적으로 플러시될 때까지 데이터가 파일에 기록되지 않습니다.
문제 설명
질문에 설명된 프로그램은 CSV 파일에서 데이터를 읽고 이를 테이블에 삽입하기 위해 SQL 명령으로 변환합니다. 변환 프로세스 중간에 출력 파일 쓰기가 갑자기 중단될 때까지는 프로그램이 올바르게 작동하는 것 같습니다.
해결책
이 문제를 해결하려면 프로그램을 종료하는 것이 중요합니다. BufferedWriter와 연관된 OutputStream입니다. 이 작업을 수행하면 나머지 데이터가 강제로 플러시되어 출력 파일에 기록됩니다. 프로그램이 종료되기 전에 다음 코드 줄을 추가해야 합니다.
OutputStream을 닫으면 버퍼링된 데이터가 즉시 파일에 기록되어 출력이 잘리는 문제를 해결합니다.
위 내용은 내 Java BufferedWriter가 모든 데이터를 쓰지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!