从套接字读取二进制流文件,并将其保存到java数据库中

从套接字读取二进制流文件,并将其保存到java数据库中,java,sockets,java-io,Java,Sockets,Java Io,我读取已传输二进制文件的套接字,如: DataInputStream input= null; input = new DataInputStream(socket11.getInputStream()); String inpstring= input.readUTF(); 并获得如下数据字段: byte[] datast= inpstring.substring(s, e).getBytes(); “s”和“e”是输入字符串中开始和结束的索引 如何在SQL INSERT语句中使用上述字节

我读取已传输二进制文件的套接字,如:

DataInputStream input= null;
input = new DataInputStream(socket11.getInputStream());
String inpstring= input.readUTF();
并获得如下数据字段:

byte[] datast= inpstring.substring(s, e).getBytes();
“s”和“e”是输入字符串中开始和结束的索引


如何在SQL INSERT语句中使用上述字节数组?

到此为止
readUTF()/writeUTF()
用于读取/写入长度不超过64k的UTF字符串。不是二进制的。而
readUTF()
只能读取由
writeUTF()编写的数据。
您使用了错误的API用于错误的目的<代码>字符串不是二进制数据的容器。您应该使用普通的
read()
write()
方法,或者可能使用
readFully()。
注意
write()
有一个重载,您可以在其中指定偏移量和长度

您需要如上所述读取并通过tearrayoutputstream写入
,然后从中获取字节数组,或者直接写入BLOB