我試圖做出一個int值,它每秒鐘上升一個計數器,然後當您關閉程序時,它會將值保存到一個.txt文件,然後,它應該,當你再次啓動程序時,從文件中讀取int值,並從該值再次繼續,但是,它正確保存,它使文件,但當我啓動我的程序又一次,它會再次從1開始,而不是保存在.txt文件中的值。我的程序沒有讀取文件,因爲它應該是
的int值:
public int points;
的getter和setter,位於MrStan.class
public int getPoints(){
return points;
}
public void setPoints(int points){
this.points = points;
}
如何我讀文件:
MrStanReadFile r = new MrStanReadFile();
r.openFile();
r.readFile();
r.closeFile();
我的ReadFile類:
public class MrStanReadFile {
private Scanner x;
MrStan a = new MrStan();
public void openFile(){
try{
x = new Scanner(new File("D:/MrStan/text.txt"));
}catch(Exception ex){
System.out.println("COULD NOT FIND TEXT.TXT");
}
}
public void readFile(){
while(x.hasNext()){
String p = x.next();
int pointset = Integer.parseInt(p);
a.setPoints(pointset);
}
}
public void closeFile(){
x.close();
}
}
其中INT用於其它地方:
Todotask:
public MrStan(){
timer.schedule(new todoTask(), 0, 1 * 1000);
}
class todoTask extends TimerTask{
public void run(){
points++;
repaint();
}
}
private Timer timer = new Timer();
和
g.drawString("Points: " + points, 75, 83);
好了,在READFILE方法,你會看到一個字符串, p,這是文本文件中的字符串。我使用Integer.parseInt()將字符串轉換爲一個int,然後,我將int值設置爲轉換後的pointset值,但不會改變,我的程序將如何工作,以便從設置的數字開始.txt文件?
如果您還發布了MrStan.setPoints代碼和使用該整數的代碼,那該多好。必須有一些錯誤設置值或使用它... – helios 2011-04-28 21:24:34
「但它不會改變」。什麼沒有改變?點集中的值?你能縮小你的問題嗎? – 2011-04-28 21:26:49
程序以int開始的int,它應該從文件中的int值開始 – Stan 2011-04-28 21:30:02