タイトル、作成者、作成日などの追加のメタ情報を YAML 形式のドキュメントの先頭に指定する Markdown テキスト ファイルを Java を使用して処理する予定です。次に例を示します。
---
title: An example document
author: Paul
created: 2013-05-19
---
The _body_ of this document is
written in **Markdown**.
YAML データを解析するには、snakeyamlを使用できます。私が知る限り、YAML ドキュメントは a java.io.InputStream、 ajava.io.Readerまたは aStringからメソッドyaml.load()andを介してロードできますyaml.loadAll()( SnakeYAML のドキュメントとAPIを参照してください)。
から読み取るバージョンは使用したくありませんString。大きなファイルでパフォーマンスの問題が発生するためです。しかしInputStream、ストリームが有効な YAML ドキュメントを表していないため、ファイルの操作は失敗します。ストリームの最初の部分のみが有効なドキュメントを表します。
だから私の質問は次のとおりですjava.io.FilterInputStream。/java.io.FilterReaderまたは別のアプローチを使用してストリームを生成し、2 番目の後に停止して---ストリーム全体が有効な YAML になるようにするにはどうすればよいですか?