그룹 채팅을위한 Java 코드가 있습니다. 서버에 연결된 모든 클라이언트에게 파일을 보내려고합니다. 채팅 메커니즘에 PrintWriter
을 사용하는 경우 파일 전송을 위해 OutputStream
과 같은 다른 것이 필요합니까? 파일 전송을위한 다른 방법이 있습니까? 둘 다 사용할 수 있습니까?그룹 채팅에 파일 전송을 추가하려면 어떻게해야합니까?
-1
A
답변
0
Reader/Writer 클래스는 문자와 함께 사용됩니다. InputStream/OutputStream는 바이트와 함께 사용됩니다. 파일의 유형에 따라 Writer 또는 OutputStream을 사용해야합니다. 텍스트 파일을 받고 보내는 경우 Reader/Writer를 사용하십시오. 이미지, zip 파일, pdfs (바이너리 파일)를 수신 및 전송하는 경우 InputStream/OutputStream을 사용하십시오.
다른 유형의 Reader/Writer 및 InputStream/OutputStream에 대한 java.io 패키지의 클래스를 확인하여 필요에 적합한 것을 확인하십시오.
+0
- 둘 다 사용할 수 있다면 가능합니까? 다른 사람을 사용하려면 하나를 닫아야합니까? – NewToJava
관련 문제
- 1. 봇을 Skype 그룹 샵에 추가하려면 어떻게해야합니까?
- 2. 그룹 채팅에 파일을 보낼 수 없습니다. openfire
- 3. 번들 제품 그룹 가격을 추가하려면 어떻게해야합니까?
- 4. Liferay 비 그룹 페이지를 추가하려면 어떻게해야합니까?
- 5. sql에서 그룹 채팅에 대한 알림을 디자인하는 방법?
- 6. Microsoft 팀에 그룹 계정을 추가하려면 어떻게합니까?
- 7. 파일 이름을 기반으로 조건부로 div를 추가하려면 어떻게해야합니까?
- 8. 내 파일 삭제 프로그램에 디렉토리를 추가하려면 어떻게해야합니까?
- 9. TKinter를 사용하여 파일 확장명을 추가하려면 어떻게해야합니까?
- 10. 프로그래밍 방식으로 Gmail 채팅에 액세스하려면 어떻게해야합니까?
- 11. AJAX 채팅에 채널을 추가하는 방법은 무엇입니까?
- 12. Linq 그룹 및 개수 - 더 많은 열을 추가하려면 어떻게해야합니까?
- 13. 플래시와 PHP 간의 데이터 전송을 보호하려면 어떻게해야합니까?
- 14. ejabberd는 오프라인 파일 전송을 지원합니까?
- 15. paramiko로 파일 전송을 재개하는 방법
- 16. sftp 파일 전송을 확인하는 방법?
- 17. 행에 값을 추가하려면 어떻게해야합니까?
- 18. importXml 메서드에 파일을 추가하려면 어떻게해야합니까?
- 19. confluence.pm에 라벨을 추가하려면 어떻게해야합니까?
- 20. * args에 해시를 추가하려면 어떻게해야합니까?
- 21. trasparent 뷰를 추가하려면 어떻게해야합니까?
- 22. URLHTML을 배열에 추가하려면 어떻게해야합니까?
- 23. 변수에 텍스트를 추가하려면 어떻게해야합니까?
- 24. 해시에 숫자를 추가하려면 어떻게해야합니까?
- 25. HTML5 - 컨테이너를 추가하려면 어떻게해야합니까?
- 26. 캔버스에 이미지를 추가하려면 어떻게해야합니까?
- 27. xpath에 주석을 추가하려면 어떻게해야합니까?
- 28. 이미지에 윤곽을 추가하려면 어떻게해야합니까?
- 29. listWidget에 항목을 추가하려면 어떻게해야합니까?
- 30. UITextView에서 이미지를 추가하려면 어떻게해야합니까?
추가 정보가 필요합니다. 서버 측에서 어떤 종류의 서비스를 실행하고 있습니까? 휴식 서비스 인 경우 Base64로 파일을 인코딩하고 서버로 보낼 수 있습니까? 프로그램에 소켓을 사용하고 있습니까? – Ali
@Ali- 예. 내 프로그램에서 소켓을 사용하고 있습니다. 서버가 다중 스레드이며 각 클라이언트에 대한 스레드를 만듭니다. 나는 여기에서 OutputStream을 얻는다 : public ClientHandler (소켓 clientSocket, PrintWriter 사용자) { sock = clientSocket; InputStreamReader isReader = new InputStreamReader (sock.getInputStream()); 독자 = 새로운 BufferedReader (isReader); OutputStream os = sock.getOutputStream(); cOutputStreams.add (os); OutputStream을 사용하여 서버에서 .pdf 파일을 전송하는 경우에도 클라이언트 측에만 0KB 파일이 도착하므로 문제가 발생합니다. – NewToJava
개인적으로 그룹 채팅 응용 프로그램에서 InputStream/OutputStream을 사용하지 않습니다. 전송할 파일, 유형 및 수신자를 지정하려면 무언가가 필요합니다. 메시지 송수신을 처리하는 휴식 서비스를 만들어야합니다. Reader/Writer 또는 InputStream/OutputStream을 사용해야하는지에 대해 걱정할 필요가 없습니다. – Ali