Java 如何将文件传输添加到群聊?

Java 如何将文件传输添加到群聊?,java,netbeans-7,serversocket,Java,Netbeans 7,Serversocket,我有一个用于群组聊天的java代码。我想将文件发送到连接到服务器的所有客户端。如果我使用PrintWriter进行聊天机制,我是否需要OutputStream之类的东西进行文件传输?是否有其他传输文件的方法?我们能同时使用它们吗?读写器类与字符一起使用。InputStream/OutputStream与字节一起使用。根据文件的类型,您需要使用Writer或OutputStream。如果您正在接收和发送文本文件,请使用Reader/Writer;如果您正在接收和发送图像、zip文件、PDF(二进制

我有一个用于群组聊天的java代码。我想将文件发送到连接到服务器的所有客户端。如果我使用
PrintWriter
进行聊天机制,我是否需要
OutputStream
之类的东西进行文件传输?是否有其他传输文件的方法?我们能同时使用它们吗?

读写器类与字符一起使用。InputStream/OutputStream与字节一起使用。根据文件的类型,您需要使用Writer或OutputStream。如果您正在接收和发送文本文件,请使用Reader/Writer;如果您正在接收和发送图像、zip文件、PDF(二进制文件),请使用InputStream/OutputStream


检查java.io包下的类,查看不同类型的读写器和InputStream/OutputStream,看看哪一种适合您的需要。

-如果我同时使用这两种类型,是否可行?我是否需要关闭一个以使用另一个?需要其他信息。您是否在服务器端运行某种服务?如果它是rest服务,您可以对文件进行Base64编码并将其发送到服务器吗?您的程序正在使用套接字吗?@Ali-是的,我的程序正在使用套接字。服务器是多线程的,为每个客户端创建一个线程。我从这里获得输出流:public ClientHandler(Socket clientSocket,PrintWriter用户){sock=clientSocket;InputStreamReader isReader=new InputStreamReader(sock.getInputStream());reader=new BufferedReader(isReader);OutputStream os=sock.getOutputStream();coutstreams.add(os);即使我使用OutputStream从服务器传输.pdf文件,我也会遇到问题,因为只有0KB的文件到达客户端。我个人不会在群聊应用程序中使用InputStream/OutputStream。您需要一些东西来指定要发送的文件、文件类型以及收件人应该是。应该创建一个rest服务来处理发送和接收消息。您不必担心是否应该使用读写器或InputStream/OutputStream。