保持传输的文件的名称

我使用的普通Java Socket编程成功传输已知的文件。 这是我的代码片段:

Socket sock = new Socket("192.168.1.3", 6789); byte[] mybytearray = new byte[9999]; InputStream is = sock.getInputStream(); FileOutputStream fos = new FileOutputStream("filename.txt"); BufferedOutputStream bos = new BufferedOutputStream(fos); int bytesRead = is.read(mybytearray, 0, mybytearray.length); bos.write(mybytearray, 0, bytesRead); bos.close(); sock.close();

然而,在这种代码,我必须明确地命名接收文件filename.txt ,我要保留,这是获得传输的文件的名称。 其中一个办法是显式传输的文件的名称,然后传送文件(我认为这是正确的)或有任何其他方式做到这一点?

--------------解决方案-------------

插座没有文件名。 你读从套接字字节,因为他们来了,他们可以是任何东西。

应流中添加的文件的名称,并使用一分离器,将其从内容标记

如果你不能改变流,最坏的情况是,只使用另一个连接发送的名称,将其关闭,然后再从另一个流读取其中的内容

您正在转移,涉及到的文件,其文件名的来源是不是为了成功传输文件的字节目的地相关的字节流。 如果关心在源给定的文件的名称,分别发送该文件名到目的地。

分类:java的 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.441 (s). 10 q(s)