タイトル、作成者、作成日などの追加のメタ情報を 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 になるようにするにはどうすればよいですか?