jjzjj

ByteArrayInputStream

全部标签

java - 字节数组到缓冲图像的转换速度慢

我有一个简单的服务器端代码,它接收一个表示JPEG格式图像的字节数组并返回图像的尺寸。publicStringprocessImage(byte[]data){longstartTime=System.currentTimeMillis();ByteArrayInputStreamstream=newByteArrayInputStream(data);BufferedImagebufferedImage;bufferedImage=ImageIO.read(stream);intheight=bufferedImage.getHeight();intwidth=bufferedIma

java - 从 ByteArrayInputStream 获取内部字节数组

我想从ByteArrayInputStream获取内部字节数组。我不想扩展该类或将其写入另一个字节数组。有实用程序类可以帮助我做到这一点吗?谢谢, 最佳答案 您无法访问相同的字节数组,但您可以轻松复制流的内容:publicbyte[]read(ByteArrayInputStreambais){byte[]array=newbyte[bais.available()];bais.read(array);returnarray;} 关于java-从ByteArrayInputStream获

java - InputStream 和 ByteArrayInputStream 有什么区别?

以下代码摘自java核心卷一的javawebstart章节ByteArrayOutputStreamout=newByteArrayOutputStream();PrintStreamprintOut=newPrintStream(out);printOut.print(panel.getText());//panel.getText()returnaStringInputStreamdata=newByteArrayInputStream(out.toByteArray());FileSaveServiceservice=(FileSaveService)ServiceManager

java - 为什么在 Java 中使用 ByteArrayInputStream 而不是 byte[]

据我了解,ByteArrayInputStream用于读取byte[]数据。为什么我应该使用它而不是简单的byte[](例如从数据库中读取它)。它们有什么区别? 最佳答案 如果输入总是byte[],那么你是对的,通常不需要流。和ifyoudon'tneedit,don'tuseit.ByteArrayInputStream的另一个优点是它可以作为一个非常强烈的指示,表明您希望字节是只读的(因为流不提供用于更改它们的接口(interface)),尽管重要的是要注意程序员通常仍然可以直接访问字节,因此您不应该在担心安全的情况下使用它。但

java - 字节数组到java中的unsigned int

我通过这样做将字节数组转换为int:ByteArrayInputStreambais=newByteArrayInputStream(data);DataInputStreamdis=newDataInputStream(bais);intj=dis.readInt();但它返回一个带符号的数字,而我想要一个无符号的数字,因为我想在加密期间将该数字作为整数发送到服务器,并且必须在服务器上对其进行解密。如果它是一个签名号码,我可以这样做。请任何一位帮帮我.........地点 最佳答案 int在Java中始终是有符号的32位数字。但是

java - 在 Java 中将数组字符串转换为字符串并返回

我在Java中有一个String[]数组,必须首先将它编码/转换成一个String,然后在代码中进一步将它转换回String[]数组。问题是我可以在String[]数组中的字符串中包含任何字符,因此在编码时我必须非常小心。解码它所需的所有信息都必须在最终字符串中。我无法在额外变量中返回字符串和一些其他信息。到目前为止我设计的算法是:将所有字符串并排添加,例如:String[]a={"lala","exe","a"}进入Stringb="lalaexea"在字符串末尾追加String[]中所有字符串的长度,与正文用$符号分隔,然后每个长度用逗号分隔,因此:b="lalaexea$4,3,

java - 使用 java.io 寻找 ByteArrayInputStream

如何查找(更改位置)ByteArrayInputStream(java.io)?这是很明显的事情,但我似乎无法在任何地方找到这个方法(mark/reset是不够的,我需要将位置设置到任何地方InputStream).如果使用java.io无法完成,我必须切换到java.nio并使用ByteBuffer,如何才能我得到类似于DataOutputStream使用java.nio包装ByteArrayOutputStream的东西?我没有找到任何类型的可自动调整大小的缓冲区。编辑:我找到了一种方法来实现我想要做的事情,但它有点困惑。ImageIO.createImageInputStream

android - LibGDX 从 base64 PNG ByteArrayInputStream 创建纹理

我刚刚决定将Slick2D更改为LibGDX。但是,为了能够将我的游戏移植到LibGDX,我需要帮助了解如何从我的游戏数据文件在LibGDX中创建纹理。我的游戏数据文件是加密的,图像是用base64编码的,所以我可以将它们全部保存在一个txt文件中。如何从ByteArrayInputStream创建LibGDX纹理。在Slick2D中,我将base64字符串转换为缓冲图像。但我不想为LibGDX这样做,因为我可能希望尽快在Android上使用它。编辑:我刚刚想通了,有点。我是这样做的:Texturebucket;Stringbase64="base64stringtoolongtopa

android - 如何将 ByteArrayInputStream 转换为 jpeg 并在 android 手机上显示?

1.i获取android相机数据转换成bitmaoif(mBitmap==null)//createBitmapimagefirsttime{Camera.Parametersparams=camera.getParameters();width_ima=params.getPreviewSize().width;height_ima=params.getPreviewSize().height;mBitmap=Bitmap.createBitmap(width_ima,height_ima,Bitmap.Config.RGB_565);mRGBData=newint[width_im

java - 如何使用 Protobuf 将数据从 Python 发送到 Java?

Java客户端byte[]aReceiveData=newbyte[1024];DatagramPacketaReceivePacket=newDatagramPacket(aReceiveData,aReceiveData.length);aServerSocket.receive(aReceivePacket);ByteArrayInputStreamaInput=newByteArrayInputStream(aReceiveData);Messagetest=Message.parseDelimitedFrom(aInput);错误"Protocolmessagecontain
12