Java Can';t将变量放入txt文件中

Java Can';t将变量放入txt文件中,java,android,try-catch,Java,Android,Try Catch,我需要保存这个变量,为此,我将它导出到一个.txt文件中。然而,它并没有这样做,而是被抓住了。有人能告诉我我做错了什么吗。提前谢谢 public class AltonAir extends AppCompatActivity { public class AltonAir extends AppCompatActivity { SharedPreferences sharedPref = getApplicationContext().getSharedPreferences("Alton

我需要保存这个变量,为此,我将它导出到一个
.txt
文件中。然而,它并没有这样做,而是被抓住了。有人能告诉我我做错了什么吗。提前谢谢

 public class AltonAir extends AppCompatActivity {

public class AltonAir extends AppCompatActivity {
SharedPreferences sharedPref = getApplicationContext().getSharedPreferences("AltonAirCount", Context.MODE_PRIVATE);

public int rideCount = sharedPref.getInt("RideCount", 0);

void updateListString() {

    final int[] Track = {840};
    int localTrack = Track[0];
    final int[] Inversions = {2};
    int localInversions = Inversions[0];
    final int[] Time = {100};
    int localTime = Time[0];
    final double[] gForce = {3.5};
    double localGForce = gForce[0];

    final String[][] airStatsString = {{"Length Covered: " + localTrack * rideCount + "m",
            "Total Inversions Experienced: " + localInversions * rideCount,
            "Total Time on Air: " + localTime * rideCount + "s",
            "Total G-Force Experienced:" + localGForce * rideCount + "G's"}};

    ListAdapter theAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
            airStatsString[0]);

    ListView theListView = (ListView) findViewById(R.id.airStats);

    theListView.setAdapter(theAdapter);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_alton_air);

    final File file = new File("AltonAirCount.txt");

    int rideCountFile;





    onCreate2(file, sharedPref);}

void onCreate2(final File file, final SharedPreferences sharedPref){


    TextView triviaText = (TextView) findViewById(R.id.airTriviaText);



    String rideCountString = Objects.toString(rideCount);

    final TextView[] totalRideText = {(TextView) findViewById(R.id.totalRide)};
    totalRideText[0].setText("Total Flights : " + rideCountString);

    Random rand = new Random();
    final int[] triviaNumber = {rand.nextInt(4) + 1};

    if (triviaNumber[0] == 1) {
        triviaText.setText("Air actually stands for Aerial Inversion Ride");
    } else if (triviaNumber[0] == 2) {
        triviaText.setText("Air initially went over budget so there wasn’t much theming");
    } else if (triviaNumber[0] == 3) {
        triviaText.setText("Air is one of the only rides at Alton Towers you can see above the tree line");
    } else if (triviaNumber[0] == 4) {
        triviaText.setText("Air is the latest ride to be manufactured by B&M at the park.");
    } else {
        triviaText.setText("mmm");
    }

    updateListString();


    Button triviaPlus = (Button) findViewById(R.id.triviaPlus);

    triviaPlus.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

            triviaNumber[0] += 1;

            if (triviaNumber[0] == 5) {
                triviaNumber[0] = 1;
            }

            TextView triviaText = (TextView) findViewById(R.id.airTriviaText);
            if (triviaNumber[0] == 1) {
                triviaText.setText("Air actually stands for Aerial Inversion Ride");
            } else if (triviaNumber[0] == 2) {
                triviaText.setText("Air initially went over budget so there wasn’t much theming");
            } else if (triviaNumber[0] == 3) {
                triviaText.setText(" Air is one of the only rides at Alton Towers you can see above the tree line");
            } else if (triviaNumber[0] == 4) {
                triviaText.setText(" Air is the latest ride to be manufactured by B&M at the park.");
            } else {
                triviaNumber[0] = 1;
            }


        }
    });

    Button triviaMinus = (Button) findViewById(R.id.trivaMinus);

    triviaMinus.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

            triviaNumber[0] -= 1;

            TextView triviaText = (TextView) findViewById(R.id.airTriviaText);
            if (triviaNumber[0] == 0) {
                triviaNumber[0] = 4;
                triviaText.setText(" Air is the latest ride to be manufactured by B&M at the park.");
            } else if (triviaNumber[0] == 1) {
                triviaText.setText("Air actually stands for Aerial Inversion Ride");
            } else if (triviaNumber[0] == 2) {
                triviaText.setText("Air initially went over budget so there wasn’t much theming");
            } else if (triviaNumber[0] == 3) {
                triviaText.setText(" Air is one of the only rides at Alton Towers you can see above the tree line");
            } else if (triviaNumber[0] == 4) {
                triviaText.setText(" Air is the latest ride to be manufactured by B&M at the park.");
            } else {
                triviaNumber[0] = 4;
            }


        }
    });

    Button ridePlus = (Button) findViewById(R.id.ridePlus);

    ridePlus.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            rideCount += 1;
            String rideCountString = Objects.toString(rideCount);

            TextView totalRideText = (TextView) findViewById(R.id.totalRide);
            totalRideText.setText("Total Flights : " + rideCountString);

            updateListString();

            try {
                PrintWriter output = new PrintWriter(file);
                output.println(rideCount);
                output.close();

            } catch (IOException ex) {

                Log.e("Exception ", String.valueOf(ex));


                Toast toast = Toast.makeText(getApplicationContext(), "It's been caught", Toast.LENGTH_SHORT);

                toast.show();
            }

        }
    });

    Button rideMinus = (Button) findViewById(R.id.rideMinus);

    rideMinus.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            rideCount -= 1;
            if (rideCount < 0) {
                rideCount = 0;
                Toast toast = Toast.makeText(getApplicationContext(), "Ride Count can't go below zero.", Toast.LENGTH_SHORT);

                toast.show();
            }
            String rideCountString = Objects.toString(rideCount);

            TextView totalRideText = (TextView) findViewById(R.id.totalRide);
            totalRideText.setText("Total Flights : " + rideCountString);


            updateListString();

            SharedPreferences.Editor editor = sharedPref.edit();
            editor.putInt("RideCount", (int) rideCount);
            editor.commit();
        }
    });}
公共类AltonAir扩展了AppCompative活动{
公共类AltonAir扩展了AppCompative活动{
SharedReferences SharedReferences=getApplicationContext().GetSharedReferences(“AltonAirCount”,Context.MODE\u PRIVATE);
public int rideCount=sharedPref.getInt(“rideCount”,0);
void updateListString(){
最终int[]轨迹={840};
int localTrack=Track[0];
最终int[]逆={2};
int本地化转换=反转[0];
final int[]Time={100};
int localTime=Time[0];
最终双[]gForce={3.5};
双本地gForce=gForce[0];
最后一个字符串[][]airstStatssString={{“覆盖长度:”+localTrack*rideCount+“m”,
“经历的总反转数:“+局部反转数*rideCount,
“广播总时间:”+localTime*rideCount+“s”,
“经历的总重力:“+localGForce*rideCount+“G's”}”;
ListAdapter theAdapter=new ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,
空时串[0]);
ListView theListView=(ListView)findViewById(R.id.airStats);
设置适配器(适配器);
}
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u alton\u air);
最终文件=新文件(“AltonAirCount.txt”);
int ridecontfile;
onCreate2(文件,SharedRef);}
void onCreate2(最终文件文件,最终SharedReferences SharedReference){
TextView triviaText=(TextView)findViewById(R.id.airTriviaText);
String rideCountString=Objects.toString(rideCount);
最终文本视图[]totalRideText={(文本视图)findViewById(R.id.totalRide)};
totalRideText[0].setText(“航班总数:+rideCountString”);
Random rand=新的Random();
final int[]triviaNumber={rand.nextInt(4)+1};
if(triviaNumber[0]==1){
setText(“Air实际上代表空中倒转飞行”);
}else if(triviaNumber[0]==2){
setText(“Air最初超出预算,所以没有太多主题化”);
}else if(triviaNumber[0]==3){
setText(“空中是你能在树线上方看到的阿尔顿大厦唯一的游乐设施之一”);
}else if(triviaNumber[0]==4){
triviaText.setText(“Air是B&M在公园制造的最新骑乘设备。”);
}否则{
triviaText.setText(“mmm”);
}
updateListString();
按钮triviaPlus=(按钮)findViewById(R.id.triviaPlus);
triviaPlus.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
三角数字[0]+=1;
if(triviaNumber[0]==5){
triviaNumber[0]=1;
}
TextView triviaText=(TextView)findViewById(R.id.airTriviaText);
if(triviaNumber[0]==1){
setText(“Air实际上代表空中倒转飞行”);
}else if(triviaNumber[0]==2){
setText(“Air最初超出预算,所以没有太多主题化”);
}else if(triviaNumber[0]==3){
setText(“空中是你能在树线上方看到的阿尔顿大厦唯一的游乐设施之一”);
}else if(triviaNumber[0]==4){
triviaText.setText(“Air是B&M在公园制造的最新骑乘设备。”);
}否则{
triviaNumber[0]=1;
}
}
});
按钮triviaMinus=(按钮)findViewById(R.id.trivaMinus);
triviaMinus.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
三角数字[0]-=1;
TextView triviaText=(TextView)findViewById(R.id.airTriviaText);
if(triviaNumber[0]==0){
triviaNumber[0]=4;
triviaText.setText(“Air是B&M在公园制造的最新骑乘设备。”);
}else if(triviaNumber[0]==1){
setText(“Air实际上代表空中倒转飞行”);
}else if(triviaNumber[0]==2){
setText(“Air最初超出预算,所以没有太多主题化”);
}else if(triviaNumber[0]==3){
setText(“空中是你能在树线上方看到的阿尔顿大厦唯一的游乐设施之一”);
}else if(triviaNumber[0]==4){
triviaText.setText(“Air是B&M在公园制造的最新骑乘设备。”);
}否则{
triviaNumber[0]=4;
}
}
});
Button ridePlus=(Button)findViewById(R.id.ridePlus);
setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
rideCount+=1;
String rideCountString=Objects.toString(rideCount);
TextView totalRideText=(TextView)findViewById(R.id.totalRide);
setText(“航班总数:+rideCountString”);
updateListString();
试一试{
PrintWriter输出=新的PrintWriter(文件);
输出.打印项数(rideCount);
output.close();
}捕获(IOEX异常){
Log.e(“异常”,String.valueOf(ex));
Toast Toast=Toast.makeText(getApplicationContext(),“它被捕获了”,Toast.LENGTH\u SHORT);
toast.show();
}
}
});
Button ridemius=(Button)findViewById(R.id.ridemius);
setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
rideCount-=1;
如果(rideCount<0){
rideCount=0;
敬酒
SharedPreferences sharedPref = getApplicationContext()
         .getSharedPreferences("AltonAirCount", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt("RideCount", rideCount);
editor.commit();
//                                 Key          Default Value               
long rideCount = sharedPref.getInt("RideCount", 0);