파일 ‘A’의 내용을 파일 ‘B’에 복사하고 싶습니다. 복사가 끝나면 파일 ‘A’의 내용을 지우고 처음부터 쓰고 싶습니다. 다른 작업과 관련된 파일 ‘A’를 삭제할 수 없습니다.
Java의 파일 API (readLine ())를 사용하여 내용을 복사 할 수 있었지만 파일 내용을 지우고 파일 포인터를 파일 시작 부분으로 설정하는 방법을 모릅니다.
답변
빈 문자열을 파일에 인쇄하십시오.
PrintWriter writer = new PrintWriter(file);
writer.print("");
writer.close();
답변
파일에 빈 문자열을 쓸 필요조차 없다고 생각합니다.
PrintWriter pw = new PrintWriter("filepath.txt");
pw.close();
답변
RandomAccessFile 클래스에서 setLength () 메서드를 원합니다.
답변
간단하고 아무것도 쓰지 마십시오!
FileOutputStream writer = new FileOutputStream("file.txt");
writer.write(("").getBytes());
writer.close();
답변
자르기 작업을위한 하나의 라이너 :
FileChannel.open(Paths.get("/home/user/file/to/truncate"), StandardOpenOption.WRITE).truncate(0).close();
자세한 정보는 Java 문서 : https://docs.oracle.com/javase/7/docs/api/java/nio/channels/FileChannel.html
답변
아래는 어떻습니까?
File temp = new File("<your file name>");
if (temp.exists()) {
RandomAccessFile raf = new RandomAccessFile(temp, "rw");
raf.setLength(0);
}
답변
A에서 B로 복사 한 후 파일 A를 다시 쓰기 모드로 열고 그 안에 빈 문자열을 씁니다.