2011-08-19 2 views
2

문자열 또는 정수를 보내야하지만 문자열 배열을 보내려면 무엇을 사용해야합니까? 당신이 ObjectOutputStream를 사용하는 경우 사전에소켓 및 objectoutputstream을 사용하여 문자열 배열을 보내는 방법

// A string ("Hello, World"). 
    out.write("Hello, World".getBytes()); 

    // An integer (123). 
    out.write(ByteBuffer.allocate(4).putInt(123).array()); 

감사

+1

문자열의 안전한 바이트 인코딩을 얻으려면'.getBytes ("UTF-8")'을 사용하는 것이 좋습니다. –

답변

6

그냥 배열

ObjectOutputStream out = ... 
String[] array = ...  
out.writeObject(array); 

쓰기, 바이트 배열에 대한 깨끗이 할 필요가 없습니다 - 클래스가 높은 수준의 방법을 제공합니다 전체 개체를 읽고 씁니다. 마찬가지로

는 :

out.writeInt(123); 
out.writeObject("Hello, World"); 

당신은 당신이 원시, 낮은 수준의 OutputStream 클래스를 사용하는 경우 write(byte[]) 방법을 사용해야합니다.

+0

안전한 문자열 인코딩은 말할 것도 없습니다. –

+0

어떻게'ObjectInputStream'' readObject()'를 사용하여 동일한 배열을 읽을 수 있습니까? – Kushal

+2

@ Kush : 캐스팅하여. 배열은 객체입니다. – skaffman

관련 문제