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

时间:2014-03-11 20:07:47

标签: 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语句中使用上述字节数组?

1 个答案:

答案 0 :(得分:0)

停在那儿。 readUTF()/writeUTF()用于读/写长达64k的UTF字符串。不是二进制。并且readUTF()只能读取由writeUTF().编写的数据。您出于错误的目的使用了错误的API。 String不是二进制数据的容器。您应该使用普通read()write()方法,或者可能readFully().注意write()有一个重载,您可以指定偏移和长度。

您需要按上述方式阅读并写入ByteArrayOutputStream,并从中获取字节数组,或直接写入BLOB。