クラス NbtFile

java.lang.Object
io.github.takenoko4096.nbt.NbtFile

@NullMarked public class NbtFile extends Object
nbt形式のファイルを表現します。
  • コンストラクタの詳細

    • NbtFile

      public NbtFile(File file)
      FileからNbtFileを作成します。
      パラメータ:
      file - Fileオブジェクト。
    • NbtFile

      public NbtFile(Path path)
      PathからNbtFileを作成します。
      パラメータ:
      path - Pathオブジェクト。
    • NbtFile

      public NbtFile(String path)
      パスを表現するStringからNbtFileを作成します。
      パラメータ:
      path - パスとなる文字列。Path.of()でパースして使用されます。
  • メソッドの詳細

    • toFile

      public File toFile()
      java.io.Fileとして取得します。
      戻り値:
      ラップされていたFileオブジェクト。
    • exists

      public boolean exists()
      ファイルが存在するかどうかを返します。
      戻り値:
      存在する場合に真。
    • create

      public void create() throws IllegalStateException
      空のファイルを作成します。
      例外:
      IllegalStateException - 既に存在する、またはI/O例外の場合。
    • delete

      public void delete() throws IllegalStateException
      ファイルを削除します。
      例外:
      IllegalStateException - ファイルが存在しない、またはI/O例外の場合。
    • size

      public long size() throws IllegalStateException
      ファイルサイズを取得します。
      戻り値:
      ファイルサイズ (bytes)。
      例外:
      IllegalStateException - ファイルが存在しない、またはI/O例外の場合。
    • readAsRaw

      public MojangsonCompound readAsRaw() throws NbtReadException
      圧縮されていない形式のファイルとしてバイナリを読み取ります。
      戻り値:
      デシリアライズ結果のコンパウンド。
      例外:
      NbtReadException - デコードに失敗した場合。
    • writeAsRaw

      public void writeAsRaw(MojangsonCompound compound) throws NbtWriteException
      データを圧縮されていない形式のバイナリに変換して書き込みます。
      パラメータ:
      compound - 書き込むデータのルートコンパウンド。
      例外:
      NbtWriteException - エンコードに失敗した場合。
    • editAsRaw

      圧縮されていない形式のファイルとしてバイナリを編集します。
      パラメータ:
      function - 構造を編集する関数。
      例外:
      NbtReadException - デコードに失敗した場合。
      NbtWriteException - エンコードに失敗した場合。
    • readAsCompressed

      public MojangsonCompound readAsCompressed() throws NbtReadException
      GZip圧縮された形式のファイルとしてバイナリを読み取ります。
      戻り値:
      デシリアライズ結果のコンパウンド。
      例外:
      NbtReadException - デコードに失敗した場合。
    • writeAsCompressed

      public void writeAsCompressed(MojangsonCompound compound) throws NbtWriteException
      データをGZip圧縮された形式のバイナリに変換して書き込みます。
      パラメータ:
      compound - 書き込むデータのルートコンパウンド。
      例外:
      NbtWriteException - エンコードに失敗した場合。
    • editAsCompressed

      public void editAsCompressed(Function<MojangsonCompound, MojangsonCompound> function) throws NbtReadException, NbtWriteException
      GZip圧縮された形式のファイルとしてバイナリを編集します。
      パラメータ:
      function - 構造を編集する関数。
      例外:
      NbtReadException - デコードに失敗した場合。
      NbtWriteException - エンコードに失敗した場合。
    • isCompressed

      public boolean isCompressed() throws NbtReadException
      GZip圧縮された形式のファイルであるかどうかを返します。
      戻り値:
      GZip圧縮されているならば、真。バイト列が短すぎる場合例外を投げます。
      例外:
      NbtReadException - デコードに失敗した場合、またはバイト列が短すぎて圧縮形式を判別できない場合。
    • readAuto

      public MojangsonCompound readAuto() throws NbtReadException
      GZip圧縮されているかどうかを調べ、適切な形式でバイナリをデコードして読み取ります。
      戻り値:
      デシリアライズ結果のコンパウンド。
      例外:
      NbtReadException - デコードに失敗した場合、またはバイト列が短すぎて圧縮形式を判別できない場合。
    • editAuto

      GZip圧縮されているかどうかを調べ、適切な形式でバイナリをデコードして編集を行い、再度適切な形式でエンコードします。
      パラメータ:
      function - 構造を編集する関数。
      例外:
      NbtReadException - デコードに失敗した場合、またはバイト列が短すぎて圧縮形式を判別できない場合。
      NbtWriteException - エンコードに失敗した場合。