값을 파일에 저장하고 나중에 행렬에 다시로드 할 수 있도록 버튼 행렬 (new JButton [6][6]
;)을 직렬화하려고합니다. 데이터를 성공적으로 저장하는 코드를 온라인에서 찾았지만 데이터를로드하고 해당 값을 행렬로 반환하는 데 문제가 있습니다.배열에 Java 직렬화
다음 코드를 사용하여 시도 : 당신이 두 배열을 전달하고 배열을 반환하는 loadArray()
에서
public class SaveListener implements ActionListener {
public void actionPerformed(ActionEvent ab) {
saveArray("customlevel", buttons);
}
public void saveArray(String filename, JButton[][] write) {
try {
FileOutputStream fos = new FileOutputStream(filename);
GZIPOutputStream gzos = new GZIPOutputStream(fos);
ObjectOutputStream out = new ObjectOutputStream(gzos);
out.writeObject(write);
out.flush();
out.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
public class LoadListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
loadArray("customlevel", buttons);
}
}
public JButton[][] loadArray(String filename, JButton[][] read) {
try {
FileInputStream fis = new FileInputStream(filename);
GZIPInputStream gzis = new GZIPInputStream(fis);
ObjectInputStream in = new ObjectInputStream(gzis);
// in.readObject(read);
JButton[][] load = (JButton[][]) in.readObject();
in.close();
return load;
} catch (Exception e) {
System.out.println(e);
}
return null;
}
을하고 * 특정 * 문제는 무엇인가? 예외 등? –
문제가 Buttons 배열로 값을 다시로드하는 중입니다. 코드가 괜찮은 것처럼 보이고 예외 문제가 발생하지 않지만 작동하지 않습니다. –
"작동하지 않는다"는 것은 무엇을 의미합니까? 20 개의 질문을 할거야? – jtahlborn