sco*_*bur 7 java jnlp inputstream bytearrayinputstream
以下代码摘自核心Java卷1的java Web start章节.
ByteArrayOutputStream out = new ByteArrayOutputStream();
PrintStream printOut = new PrintStream(out);
printOut.print(panel.getText());
//panel.getText() return a String
InputStream data = new ByteArrayInputStream(out.toByteArray());
FileSaveService service = (FileSaveService) ServiceManager
.lookup("javax.jnlp.FileSaveService");
service.saveFileDialog(".", new String[] { "txt" }, data, "calc.txt");
Run Code Online (Sandbox Code Playgroud)
创建了四个对象,流重定向三次.有没有其他方法可以使用jnlp api将数据写入文件?InputStream和ByteArrayInputStream之间有什么区别?
ByteArrayInputStream并且ByteArrayOututStream是内存实现,当您希望以类似流的方式将数据临时存储在内存中时,然后在其他地方再次将其抽出.
例如,假设您有一个方法需要输入流作为参数,例如
public Document parseXml(InputStream in) // build an XML document from data read in
Run Code Online (Sandbox Code Playgroud)
但是你想把一个String的内容发送给它.然后你使用a ByteArrayInputStream并用String的内容填充它并传递ByteArrayInputStream给方法.
ByteArrayOutputStream用法的
一个示例可能是方法是否写入输出流,但您只想捕获结果并直接获取结果.
| 归档时间: |
|
| 查看次数: |
9845 次 |
| 最近记录: |