Tag: bytearrayinputstream

将B树节点保留为RandomAccessFile

我的项目正在尝试编写B树。 我无法将树的节点保存到随机访问文件。 我经常遇到EOFexceptions和StreamCorruptionExceptions 。 我目前使用的一些资源是: 在java中将任何对象转换为字节数组 https://inaved-momin.blogspot.com/2012/08/understanding-javaiostreamcorruptedexce.html 当前问题:从节点读取链接位置然后尝试从随机访问文件中读取它会导致StreamCorruptionExceptions 。 目标:能够访问随机访问文件中的所有节点,修改并将其写回随机访问文件。 Test.java import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.RandomAccessFile; import java.util.ArrayList; public class Test { public static void main(String[] args) throws IOException, ClassNotFoundException { //JsoupTestStringManipulating(); //testAdd(); //testFindPredecessor(); //testDelete(); //testPrefexFind(); //testSave(); testSave2(); } public static void JsoupTestStringManipulating(){ JsoupParser pars = new JsoupParser(); […]

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”); 创建了四个对象,流重定向三次。 有没有其他方法可以使用jnlp api将数据写入文件? InputStream和ByteArrayInputStream之间有什么区别?

字节数组缓冲图像转换速度慢

我有一个简单的服务器端代码,它接收一个表示JPEG格式图像的字节数组,并返回图像的尺寸。 public String processImage(byte[] data) { long startTime = System.currentTimeMillis(); ByteArrayInputStream stream = new ByteArrayInputStream(data); BufferedImage bufferedImage; bufferedImage = ImageIO.read(stream); int height = bufferedImage.getHeight(); int width = bufferedImage.getWidth(); long endTime = System.currentTimeMillis(); return “height=”+height+” | width=”+width+” | elapsed=”+(endTime-startTime); } 它有效,但问题是它的速度慢得令人无法接受。 对于100KB的图像,它需要6s。 对于900KB的图像,它需要30秒。 这是预期的吗? 有没有办法让字节数组更快地进行bufferedImage转换? 仅供参考,抓住高度/宽度并不是我打算做的唯一事情。 我最终想要处理bufferedImage。 因此获得高度/宽度只是一个示例代码。