我正在尝试创建一个程序,可以将文件发送到局域网上的另一台计算机,这个局域网中有10台计算机,所以我想将文件发送到特定的计算机。我怎么能这样做?
答案 0 :(得分:1)
这可以通过多种方式完成,让我们举几个例子:
对于所有这些示例,在Google上搜索时会有很多很好的示例和文档。
您需要定义一个更清晰的问题陈述,为什么需要以编程方式(如果这是您要求的)以及使用哪种语言/哪种技术来完成。
答案 1 :(得分:1)
最直接的方式就是这样。但是,确实有更有效的方法。
发送机必须有这个。
Socket socket = new Socket("ipaddress_of_machine", SHARED_PORT);
OutputStream oStream = new BufferedOutputStream(socket.getOutputStream());
File file = new File("Path_to_File");
InputStream iStream = new FileInputStream(file);
byte[] buffer = new byte[8192];
for(int readCount = iStream.read(buffer); readCount != -1; readCount = iStream.read(buffer)) {
oStream.write(buffer, 0, readCount);
}
oStream.flush();
oStream.close();
iStream.close();
接收机必须有这样的东西。
ServerSocket serverSocket = new ServerSocket(SHARED_PORT);
Socket socket = serverSocket.accept();
InputStream iStream = socket.getInputStream();
FileOutputStream oStream = new SocketOutputStream("filename");
byte[] buffer = new byte[8921];
for(int readCount = iStream.read(buffer); readCount != -1; readCount = iStream.read(buffer)) {
oStream.write(buffer, 0, readCount);
}
oStream.flush();
oStream.getFD().sync();
oStream.close();
iStream.close();