소켓 프로그래밍을 사용하여 Android 클라이언트 및 Java 서버 응용 프로그램을 만들려고합니다. 나는 자바 서버에서 보내지는 파일을 가져와야하지만 클라이언트 측의 다른 파일에 그 내용을 쓰려고하지는 않는다. 대신받은 파일의 내용으로 목록 상자를 만들고 싶습니다. 내가 파일에 이러한 내용을 작성하는 코드를 찾을 수 있지만 문자열로 내용에 액세스하는 방법을 몰라. 여기 InputStream의 데이터에 문자열로 액세스하는 방법은 무엇입니까?
내가 노력 코드입니다 :안드로이드 클라이언트
client=new Socket("10.0.2.2", 7575);
writer=new PrintWriter(client.getOutputStream(),true);
writer.write(mMsg);
writer.flush();
writer.close();
InputStream is=client.getInputStream();
bytesread=is.read(mybytearray,0,mybytearray.length);
내가 follws로 내 코드를 변경하지만 작동하지 않습니다.
InputStream is=client.getInputStream();
BufferedReader bf=new BufferedReader(new InputStreamReader(is));
String value=bf.readLine();
그것이 제공 : 아래와 같은 문자열로 변환 할
byte[] "mybytearray"
를 사용하는 마지막 문 후을 CharSet가 형태에 해결되어 있지 않은 에러. 무엇을 드릴까요? pls 제안 제공 –
@ user3243259 : http://docs.oracle.com/javase/7/docs/api/java/nio/charset/Charset.html을 참조하십시오. 지금은 "UTF-8"로 전달할 수 있습니다. –