2013-09-02 3 views
2

나는이 Java Tutorial 다음 초보 프로그래머입니다."DataOutputStream"과 "ObjectOutputStream"의 차이

섹션의 두 번째 클래스는 Data StreamsObject Streams입니다. ObjectInputStream

위해 나는 그것이 DataInputStreams 원시 객체에 사용되는 것을 말한다 알고

DataInputStream에 대한
out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(dataFile))); 

// .. 

in = new DataInputStream(new BufferedInputStream(new FileInputStream(dataFile))); 

out = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(dataFile))); 

// .. 

in = new ObjectInputStream(new BufferedInputStream(new FileInputStream(dataFile))); 

ObjectInputStreams이 사용됩니다 :

그들은 아주 이와 비슷하게 사용된다 개체 (및 그 개체의 직렬화)를 사용해야합니까? 둘 다 기본 유형을 사용하는 두 예제 클래스 사이에는 눈에 띄는 차이가 없습니다. 나는 보통 원시 타입도 사용한다.

성능면에서 어느 것이 더 좋습니까? 다른 큰 차이점이 있습니까?

감사합니다.

답변

6

DataStreams는 I 사용하고/프리미티브 타입 등 int, float, 및 double이다의 O.

ObjectStreams은 I/O가 인 객체으로 사용됩니다. 그렇지 않으면 기본 요소뿐만 아니라 객체로 작업 할 수 있도록 DataInput interface뿐만 아니라 ObjectInput interface을 구현하는 더 일반적인 ObjectStreams로 이동

당신이 명시 적으로 DataStreams을 사용하여 원시 형과 함께 일하게 될거야 알고 있다면

.