몇 가지 데이터를 Java에서 다양한 방법으로 저장해야하는데, File
, String
, System.out
... 그리고 3 가지 방법으로 거의 동일한 작업을 수행했습니다. 그래서 매개 변수로 OutputStream
을 사용하여 단일 메소드로 변경했습니다. 단일 OutputStream에 몇 가지를 썼습니다. 어떤 텍스트, 직렬화 된 객체, 다른 직렬화 된 객체, 일부 수치 데이터 ...각각의 InputStream에 대해 다른 유형의 데이터를 사용하여 동일한 InputStream에서 서로 다른 데이터 그룹을 읽을 수 있습니까?
하지만 지금은 붙어 있습니다. 나는 내가 쓰여진 다른 것들을 구별 할 수 없다는 사실을 간과했다. 데이터에 대해 InputStream
을 만듭니다. 먼저 해당 스트림에서 Scanner
을 사용하여 텍스트를 읽은 다음 ObjectInputStream을 사용하여 직렬화 된 객체를 읽으려고했지만 EOFException
이 표시됩니다.
스캐너가 앞서 읽는 것 같습니다. 스캐너가 앞으로 읽히지 않게하려면 어떻게합니까?
아니면 각자 적절한 InputStream을 사용하여 각 그룹의 데이터를 읽을 수 있습니까?
그래서 Scanner * 및 * ObjectInputStream을 사용하여 읽을 InputStream이 있습니까? – aioobe
예, 가능하다면 – neXus
당신은 텍스트인지 여부를 결정해야합니다. 예 : 스캐너 또는 바이너리 ObjectInputStream. 자신이하는 일을 실제로 알고 있다면 혼합 할 수는 있지만 이것은 좋은 아이디어는 아닙니다. 즉 그 끔찍한 엉망이 될 가능성이 더 큽니다. –