Java의 BOM(바이트 순서 표시)은 파일을 읽을 때 문제를 일으킬 수 있습니다.
BOM을 파일 형식으로 작성하는 코드 작성자에게는 BOM이 유용하다고 할 수 있습니다. 그러나 이러한 파일을 읽을 때, 특히 Java와 같은 플랫폼 독립적 언어의 경우 상황이 복잡해질 수 있습니다.
BOM을 건너뛰려면 다음 단계를 따르세요.
다음은 BOM을 건너뛰고 파일을 읽는 방법의 예입니다.
import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.nio.file.StreamOpener; import java.nio.channels.FileChannel; public class SkipBOMExample { public static void main(String[] args) throws IOException { Path file = Paths.get("path/to/file.txt"); FileSystem fs = FileSystems.getFileSystem(file.getFileSystem()); FileSystemProvider provider = fs.provider(); StreamOpener opener = (Path path, StandardOpenOption... options) -> { FileChannel channel = provider.newByteChannel(path, options); // 跳过3个字节(BOM的大小) channel.position(3); return channel; }; try (FileChannel channel = Files.newByteChannel(file, StandardOpenOption.READ, opener)) { byte[] bytes = new byte[1024]; while (channel.read(bytes) != -1) { // 处理读取到的字节 } } } }
이 방법을 사용하면 BOM BOM이 포함된 파일을 읽을 때 건너뛰고 읽을 수 있습니다. 파일 내용을 정확하게
위 내용은 Java에서 파일을 읽을 때 BOM(바이트 순서 표시)을 효율적으로 건너뛸 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!