Aspose.TeXの入力インターフェイス| Java
I/O実装の正式な定義については、Java API Referenceの Aspose.TeXを参照してください。
入力ディレクトリの概念
Tex言語のI/O Primitivesはファイル名のみを扱うことができるため、Java Aspose.TeXは、ディレクトリを名前とデータのバルクのマッピングとして定義します。データの大部分は、ファイル、ストリーム、配列などであるはずです。APIにより、入力および出力作業ディレクトリを個別に指定できます。一般的な iinputworkingdirectoryインターフェイスを提供します。これは、ユーザーが独自の目的で実装できる。また、独自の実装も提供します。これについては、以下で説明します。インターフェイスは getFile()メソッドを定義します。これは、データストリームを返してファイルのフルネームを決定しますが、仮説的に異なる名前を最初の引数として使用します。実際、マッピングキーです。
ディスクファイルシステムからファイル入力を取得します
これが私たちがそれをする方法です:
1// Create conversion options instance.
2...
3// Specify a file system working directory for the input.
4options.setInputWorkingDirectory(new InputFileSystemDirectory(Utils.getInputDirectory()));
このユースケースは非常に簡単なので、長い間それについては言及しません。
ZIPアーカイブからファイル入力を取得します
また、入力ファイルをZIPアーカイブに配置して、入力ディレクトリと見なすこともできます。この場合、次のように進める必要があります。
1// Open the stream for the ZIP archive that will serve as the input working directory.
2final Stream inZipStream = File.Open(Path.Combine(RunExamples.InputDirectory, "zip-in.zip"), FileMode.Open))
3{
4 // Create conversion options instance.
5 ...
6 // Specify a ZIP archive working directory for the input. You can also specify a path inside the archive.
7 options.setInputWorkingDirectory(new InputZipDirectory(inZipStream, "in"));
8} finally {
9 if (inZipStream != null)
10 inZipStream.close();
11}
最初に、zipファイルを含むストリームを作成します。次に、変換オプションを作成した後、 inputzipdirectoryクラスのインスタンスになるように inputWorkingDirectoryオプションを設定します。コンストラクターの2番目の引数は、アーカイブ内のベースパスです。アーカイブ全体を入力ディレクトリにしたい場合は、空の文字列を渡す必要があります。
入力端子の概念
次に、端子入力もあることを覚えておいてください。これに関しては、asops.tex for java一般 iinputterminalインターフェイスを2つのメソッドがあると定義します。そのうちの1人は BufferedReaderインスタンスを返します。別のメソッドは、 inputstreamを基礎となるストリームとして返します。インターフェイスの実装を以下で説明します。
コンソールから端子入力を取得します
これを行うには、 inputConsoleterminalクラスのインスタンスになるには、 Terminalinオプションを設定する必要があります。
1// Create conversion options instance.
2...
3// Specify the console as the input terminal.
4options.setTerminalIn(new InputConsoleTerminal()); // Default value. Arbitrary assignment.
しかし、真実を伝えるために、これはオプションのデフォルト値であるため、指定する必要はありません。この事実のため、および他の実装がない限り、このセクションはデモンストレーションのみを提供します。
理論的には、予測可能な動作を備えたインタラクティブなTEXファイル(またはスクリプト)がある場合、TEXエンジンの要求に応答するための補完的なスクリプトを含む入力端子のバージョンを実装することをお勧めします。時間があるときは手を試してみてください!