私はXMLレスポンスを読み込み、xmlからメモリ内に一時ファイルを作成したいと考えています。 次に、ファイルを読み込んで、特定の要素が存在するかどうかを確認したいと思います。 これが終わったら、私はちょうど一時ファイルを取り除きたいと思います。 私はファイルシステムとの間でファイルを作成したり読み込んだりすることに慣れていますが、メモリ内のファイルのみを書き込んだり読み込んだりすることはできますか?Javaでは、xmlを解析するためにメモリ内にのみ一時ファイルを作成するにはどうすればよいですか?
答えて
なぜあなたはメモリ内の「ファイル」として作成するのですか? XML表現(それがJDOM、W3C DOM APIなどを使用しているかどうか)としてそのまま保持してください。
では、という形式で、メモリ内の "ファイル"よりもずっと簡単に調べることができます。結局のところ、ディスク上に表示されるようなシリアライズされた形式を持っていれば、それを照会するためには基本的にそれをもう一度解析する必要があります!
私はHttpURLConnection上でgetInputStream()を呼び出していますが、それを周りに渡してさまざまな操作を行うことは可能でしょうか? – bmw0128
@ bmw0128:XML APIによっては、おそらくストリームからDOM表現に直接パースすることができます。 –
JAXBを使用しようとしていましたが、応答XMLは応答エラーかどうか。だから、私はxmlを読むために他の方法を使うことを考えています。そして、私は "良い"応答をチェックするために1回通す必要があると思っています。もし存在しなければ、xml私はそれが2つのパスを作ることができるように私はメモリにxmlを持っている必要があると思うのですが、右の音ですか? – bmw0128
本当にファイルである必要がありますか?一般的にそれは離れてabstactedです。
たとえば、ストリームベースのライターまたはリーダーを使用している場合は、ByteArrayOutputStream
とByteArrayInputStream
を使用してストリーム/ライター/リーダーをラップすることができます。ファイル自体をモックする必要があることはめったにありません。もしあなたがそうしているのであれば、あなたのデザインでできるだけ多くのことを止めていないでしょう。
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Writer w = new OutputStreamWriter(baos);
w.write(...);
byte[] bytes = baos.toByteArray();
同様に、ByteBuffer
はファイルだけでなく、メモリ内のバイトの単純配列をラップすることができます。
しかし、Jonノートのように、シリアル化する必要はありません。
特定の要素が存在するかどうかを確認するために一時ファイルを作成する必要はありません。ほとんどのXMLパーサーでは、入力ストリームから直接読み込むことができます。必要なのは、XMLレスポンス文字列を入力ストリームに変換してから、XMLパーサーにフィードを渡してチェックを実行するだけです。 -
// converting string to input stream
InputStream is = new ByteArrayInputStream(myString.getBytes(charset));
- 1. iPhoneでXMLを解析するにはどうすればよいですか?
- 2. PHPでXMLを解析するにはどうすればよいですか?
- 3. CDATAセクション内のHTMLタグでXMLファイルを解析するにはどうすればよいですか?
- 4. Javaを使用して大きなXMLファイルを解析するにはどうすればよいですか?
- 5. xmlレスポンスを解析するにはどうすればよいですか?
- 6. JavaでJSONを解析するにはどうすればよいですか?
- 7. 文字列をXMLファイルに解析するにはどうすればよいですか?xmlのような文字列を読み取るには?
- 8. ログの一部に埋め込みjsonを解析するにはどうすればいいですか?
- 9. 文字列をJavaのXML文書に解析するにはどうすればよいですか?
- 10. Eclipseでメモリ内のワークスペースまたはフォルダを作成するにはどうすればよいですか?
- 11. メモリからファイルを読み込むIEditorInputを作成するにはどうすればよいですか?
- 12. Javaで日時をString []に解析するにはどうすればよいですか?
- 13. Typoscriptファイルを解析するにはどうすればよいですか?
- 14. Jqueryでパスを指定してXMLファイルを解析するにはどうすればよいですか?
- 15. メモリ内ファイルからPILイメージを作成するにはどうすればよいですか?
- 16. temp以外のディレクトリに一時ファイルを作成するにはどうすればよいですか?
- 17. 特定の属性名をXMLファイルから解析するにはどうすればよいですか?
- 18. JavaでZipファイルからメモリにファイルを読み込むにはどうすればよいですか?
- 19. NSXMLParserで基本XMLファイルを解析するにはどうすればよいですか?
- 20. 大きなXMLファイルを解析するためにNokogiri :: XML :: Readerを使用するにはどうすればよいですか?
- 21. Alfrescoで。テスト用の一時ファイルを作成するにはどうすればよいですか?
- 22. GZip圧縮ファイルをメモリ内のチャンクで解凍するにはどうすればよいですか?
- 23. 一見標準的なタイムスタンプをJavaで解析するにはどうすればよいですか?
- 24. Android、XMLビューファイル、Javaのバックエンド、バックエンドJavaでカスタムビューを作成するにはどうすればよいですか?
- 25. DOMを使用して複雑なXMLファイルを解析するにはどうすればよいですか?
- 26. Androidで日付と時刻を読み取り、解析するにはどうすればよいですか?
- 27. Erlangで一時ファイル名を作成するにはどうすればよいですか?
- 28. <input>フィールドの解析を一時的に行うにはどうすればよいですか?
- 29. Cで.datファイルを読み込んで解析するにはどうすればよいですか?
- 30. Javaでひどく形成されたXMLを解析するには?
本当に実際の**ファイル**がメモリに必要ですかon tmpfs ")、またはメモリ内ストリームで十分でしょうか? – Boris