내가 가진 파일 몇 가지 기본 클래스 개체, 그 데이터를 저장 :직렬화의
class Item implements java.io.Serializable {
String this.data = "";
public void saveData(String data) {
this.data = data;
}
public String getData() {
return this.data;
}
}
그리고 파일에 항목 인스턴스를 저장하도록되어 다른 클래스에서 함수 :
private static void saveItemToFile(File folder, Item item) throws IOException{
FileOutputStream fos = new FileOutputStream(
folder.getAbsolutePath() + item.getData() + ".obj");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(item);
oos.close();
}
테스트 코드 :
Item itm = new Item();
itm.saveData("String data here");
File folder = new File(System.getProperty("user.home") + "/.CDDB");
saveItemToFile(folder, itm);
하지만이 코드는 작동하지 않습니다. 오류나 예외가 발생하지 않지만 지정된 폴더에 파일을 만들지 않습니다. 내 실수는 무엇입니까?
목적지 경로가 경로 구분없이 디렉토리 경로에 파일 이름을 추가하여 구축
빨리 더 도움 들어, [SSCCE] (http://sscce.org/)을 게시 할 수 있습니다. –
String this.data = ""; ?? –
마지막 부분에 대한 전체 코드를 표시하십시오. 당신은 어딘가에'IOException'을 처리해야하지만, 나는 그것을 보지 못했고, 당신이 던져지고있는 예외를 삼키고 있다고 의심합니다. (아마도'folder'는 존재하지 않습니다). 또한'saveItemToFile' 호출 전에'folder'의 값을 디버그하고 검사하고'new FileOutputStream'에 전달되는 값을 검사하십시오. – chrylis