내 게임의 시작 메뉴에서 "계속"버튼을 누르면 마지막으로 연주 한 점수를 얻지 못하게됩니다 . 계속 점수를 저장하는 코드와 점수를로드하는 코드를 수정하여 계속 버튼에 문제가 없는지 확인했습니다.JButton을 누를 때 파일 번호를 0으로 설정
하지만 "새로운 게임"버튼의 경우 약간의 어려움이 있습니다. 해당 버튼을 누르면 점수를 재설정 한 파일을 만들 필요가 있습니다 (마지막 점수 대신 0으로 설정). 단추에 대한 ActionListener
안에이 코드를 넣으려고했지만 .dat 파일 내부의 텍스트를 0으로 설정하지 않지만 끝에 0을 추가합니다.
try{
String zero = "0";
byte[] reset = zero.getBytes();
player.getFile().write(reset);
}catch (IOException ex){
}
나는 또한 내가 10 팀에게 적의가 죽었을 때마다 추가 할 수 있지만 그때는 여전히 .DAT 파일에서 점수를 얻을 것이다 사용
player.setScore("0");
을 시도했습니다.
이것은 플레이어 클래스 내부에서 파일로드 및 저장을 처리하는 두 가지 방법입니다.
public void save(){
try{
getScore = new File("Score.dat");
scoreFile = new FileOutputStream(getScore);
byte[] saveScore = score.getBytes();
scoreFile.write(saveScore);
}catch(FileNotFoundException ex){
}catch(IOException ex){
}
}
public void load(){
try{
br = new BufferedReader(new FileReader("Score.dat"));
score = br.readLine();
}catch (FileNotFoundException ex){
}catch(IOException ex){
}
}
나는 "계속"버튼이 아닌 "새로운 게임"버튼을하지만 내가 java.lang.NullPointerException
오류를 누르면 나는 또한 단지 load()
방법을 실행에 노력했다.
'PrintWriter '를 사용하면 매번 데이터를 추가 할 수 없습니다. –
@RobI - 기본적으로 PrintWriter는 파일을 추가하지 않고 덮어 씁니다. – berry120