[英]How to write to a dummy DataOutputStream without using files?
我正在使用一個特定的庫(不幸的是無法避免),它使用接收 DataOutputStream 作為輸入的實用程序 function 將 class 中的一些信息寫入文件。
我想將結果文件的內容作為字符串獲取,而無需實際創建文件並將其寫入其中,因為寫入可能非常“繁重”(1000 多行)。
這是否可以通過使用虛擬 DataOutputStream 或其他方法來實現,而無需創建臨時文件並從那里讀取結果?
PS:實際寫入 DataOutputStream 的最終方法會不時更改,所以我不希望每次都復制粘貼它並重做它。
As java.io.DataOutputStream
wraps around just any other java.io.OutputStream
(you have to specify an instance in the constructor) I would recommend that you use a java.io.ByteArrayOutputStream
to collect the data in-memory and get the String稍后使用.toString()
方法。
例子:
ByteArrayOutputStream inMemoryOutput = new ByteArrayOutputStream();
DataOutputStream dataOutputStream = new DataOutputStream(inMemoryOutput);
// use dataOutputStream here as intended
// and then get the String data
System.out.println(inMemoryOutput.toString());
如果收集的字節的編碼與系統默認編碼不匹配,您可能必須指定一個 Charset 作為toString
的參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.