0
파일에 개체를 쓰거나 읽으려고하는데 편집 한이 코드가 떠오르지 만 파일을 열면 이상한 문자와 기호가 나타납니다. 거기에 Serializable 물건 thats. 제대로 쓰는 방법이 있습니까? 그건 지금까지 제 코드입니다.파일에 쓰기/읽기
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.io.Serializable;
public class Controlador_Dades_Doctor
{
public void escriureFitxer(Doctor doctor){
ObjectOutputStream out;
try {
File file = new File("Doctors.ser");
out = new ObjectOutputStream(new FileOutputStream(file));
out.writeObject(doctor);
out.flush();
out.close();
System.out.println("Object written to file");
}
catch (FileNotFoundException ex) {
System.out.println("Error with specified file") ;
ex.printStackTrace();
}
catch (IOException ex) {
System.out.println("Error with I/O processes") ;
ex.printStackTrace();
}
}
}
제 출력 파일에는 이상한 문자가 있습니다.
¬í sr DoctorÑmçUÝâ& I idI num_guardiesD souL nomt Ljava/lang/String;xp @—p t rux
은 또한, 나는이 첫 번째 클래스의지도 또 다른 클래스를 가지고, 내가 너무 파일이 내 의사지도를 포함하는 것, 파일 aswell로 쓸 수있는 방법 단서가있어. 미리 감사드립니다.
"올바르게 작성 하시겠습니까?" 너는 무엇을 기대 하느냐? 왜? –
직렬화의 포인트는 객체의 내용을 나중에 자바 객체 형태로 다시로드 할 수 있도록 작성하는 것입니다. 사용중인 네이티브 Java 직렬화에는 객체를 seralize하는 방법에 대한 특정 형식이 있습니다. 보다 직관적이고 읽기 쉬운 형식의 직렬화를 원한다면 JSON 또는 다른 serailization 메소드를 찾아야한다. – user3062946
나는 그 대신에 writting/reading을 버퍼링하는 것을 의미한다고 생각한다. 나는 그것을 풀었다. 그리고 지금은 제대로 작동하고있다. – Rogercb