実行時にJFIF標準化されたバージョンに置き換える必要があるJPGファイルがいくつかあります(適切なヘッダーを持たないJPGを提供するベンダーを使用しているため、特定のアプリケーションでは機能しません)...私は既存の画像から新しいファイルを作成し、そのファイルからバッファリングされた画像を取得し、内容を削除せずにファイルに書き戻すことができ、機能します...
imageSrcFolder.eachFileMatch ( ~/.*\.jpg/, {
BufferedImage bi = ImageIO.read( it )
ImageIO.write( bi, "jpg", it )
});
私が持っている質問は、なぜですか?ファイルのサイズが 2 倍にならないのはなぜですか? 最初に削除する必要がないのはなぜですか? ファイル オブジェクトを既存のファイルに取り込んで、それを新しいファイルのように扱うことができるのはなぜですか? 私が「ファイル」と見なすものは、Java の File オブジェクトが実際に何であるかとは異なるようです。さもなければ、これはまったく機能しません。
私のコードはやりたいことを正確に実行しますが、常にそうなるとは確信していません...簡単すぎるようです