FileInputStream和ByteArrayInputStream有什么区别? 什么时候我们应该使用它们? 什么是使用一个超过其他Java文件处理类
-6
A
回答
0
流
- 字节面向流(8位)
- 好为二进制数据,如一个Java .class文件,图像等 的好处
- 好 “面向机器”
读/写器
- 炭(UTF-16)面向流(16位)在一个时间
- 一个字符
- 好为文本,如一个Java源
- 好为 “人性化” 的数据
缓冲
- 许多字节/ characte RS在时间
- 总是除非有用的证据,否则
两个ByteArrayInputStream的和的FileInputStream服务于同一目的,即读取二进制数据,并都实现一个共同的抽象超InputStream.So这是非常艰难的发现中了鲜明的对比但是通用逻辑规定阵列已经存在于存储器中,因此与存在于文件系统中的文件相比,它们可以更快地被访问。另外,如果您仔细阅读这两个类的文档,您将发现ByteArrayInputStream的读取功能无法阻止,而如果没有输入可用,则FileInputStream中的读取功能会阻塞。
所以,如果你是无所适从使用时再想想这些:
- 以什么形式我有数据,文件或数组?
- 速度真的是一个要求吗?如果是,那么去ByteArray。但请记住,您无法在ByteArray中存储太多的信息,因为它们存在于内存中。
+0
https://www.quora.com/What-is-the-difference-between-File-input-output-stream-and-ByteArray-input-output-stream –
相关问题
- 1. 文件处理Java
- 2. 处理XML文件(JAVA)
- 3. 用Java处理ARJ文件
- 4. Java文件处理DisplayOnConsole
- 5. java中的文件处理
- 6. flush()java文件处理
- 7. 文本文件处理 - 使用java
- 8. 与批处理文件打开文件,然后使用文件中的java类
- 9. 处理从批处理文件运行Java的错误
- 10. 使用处理库 - 在处理草图中的Java文件中?
- 11. 在批处理文件中调用java类
- 12. 调试从Windows批处理文件中调用的Java类
- 13. 文件处理的核心java
- 14. 在java中处理/读取.BAI2文件
- 15. 使用java中的文件处理
- 16. Java文件行处理(基础知识)
- 17. 使用java监控批处理文件
- 18. 从java批处理文件运行jar
- 19. Java的并行文件处理
- 20. 如何处理Java中的文件集
- 21. 远程执行批处理文件java
- 22. Java和多行批处理文件
- 23. 用java通过javascript处理excel文件
- 24. 在java中的文件处理
- 25. 在Java中处理Excel文件
- 26. 从java运行批处理文件
- 27. java中的文件处理程序
- 28. 会java能够处理5000或更多文件的文件处理程序?
- 29. 文件处理
- 30. 处理子类别的Python CSV文件
阅读javadoc – Jens