java - 保留传输文件的名称

标签 java sockets java-io serversocket

我正在使用普通的 Java 套接字编程来成功传输已知文件。这是我的代码片段:

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 - 保留传输文件的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9097716/

相关文章:

java - 在 java 上打开 nat 后面的套接字

python - 在 Python 3 中使用套接字获取 400 Bad Request 错误

java - RandomAccessFile 与 NIO channel

java - 一种调度算法

java - 将 JPanel 放置在 JFrames 上不正确

c# - 套接字 - Java 客户端,C# 服务器

java - 如何使用 java 中的线程读取和写入文件?

java - 我应该缓冲 InputStream 还是 InputStreamReader?

java - 如何在java中拆分组件上的数学表达式?

java - Maven:系统范围依赖的NoClassDefFoundError