如果文件不存在,则不会在Java for Android中读取所有下一个文件

时间:2014-07-10 23:00:41

标签: java android android-actionbar android-tabs

我想将文本文件添加到Android中操作栏的标签中。 for循环将查看每个文件。如果文件包含内容,则会将其添加为选项卡标题。 for循环旨在跳过任何不存在的文件。然而事实并非如此;如果文件不存在,则不会继续添加选项卡。

我知道文件没有损坏,因为当我添加文本文件以使其再次存在时,所有文本文件都将转向标签。

for (addTabPosition = 2; addTabPosition < 11; addTabPosition++) {

        GetTopics();


        if(addTabMessage.contentEquals("FileNotFound")){
            Log.e("skiper", "file skiped" + addTabPosition);

    }else{

        switch (addTabPosition) {
        case 2:
            ActionBar.Tab tab2=actionBar.newTab();
            tab2.setText(addTabTitle);
            tab2.setTabListener(this);
            actionBar.addTab(tab2);
            tabNumber++;
            break;
        case 3:
            ActionBar.Tab tab3=actionBar.newTab();
            tab3.setText(addTabTitle);
            tab3.setTabListener(this);
            actionBar.addTab(tab3);
            tabNumber++;
            break;
        case 4:
            ActionBar.Tab tab4=actionBar.newTab();
            tab4.setText(addTabTitle);
            tab4.setTabListener(this);
            actionBar.addTab(tab4);
            tabNumber++;
            break;
        case 5:
            ActionBar.Tab tab5=actionBar.newTab();
            tab5.setText(addTabTitle);
            tab5.setTabListener(this);
            actionBar.addTab(tab5);
            tabNumber++;
            break;
        case 6:
            ActionBar.Tab tab6=actionBar.newTab();
            tab6.setText(addTabTitle);
            tab6.setTabListener(this);
            actionBar.addTab(tab6);
            tabNumber++;
            break;
        case 7:
            ActionBar.Tab tab7=actionBar.newTab();
            tab7.setText(addTabTitle);
            tab7.setTabListener(this);
            actionBar.addTab(tab7);
            tabNumber++;
            break;
        case 8:
            ActionBar.Tab tab8=actionBar.newTab();
            tab8.setText(addTabTitle);
            tab8.setTabListener(this);
            actionBar.addTab(tab8);
            tabNumber++;
            break;
        case 9:
            ActionBar.Tab tab9=actionBar.newTab();
            tab9.setText(addTabTitle);
            tab9.setTabListener(this);
            actionBar.addTab(tab9);
            tabNumber++;
            break;
        case 10:
            ActionBar.Tab tab10=actionBar.newTab();
            tab10.setText(addTabTitle);
            tab10.setTabListener(this);
            actionBar.addTab(tab10);
            tabNumber++;
            break;

        }



    }
    }

}

private void GetTopics() {
    // TODO Auto-generated method stub
    File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "topic" + addTabPosition + ".json");
    Log.e("",file.toString());
    if (!file.exists()) { // Checks if file exists
        addTabMessage = "FileNotFound";
        Log.e("NOT FOUND ",file.toString());
    }else{

    try {
        FileReader fr = new FileReader(file);
        BufferedReader br = new BufferedReader(fr);

        addTabTitle = br.readLine();
        fileNames[addTabPosition] = file;
        br.close();

    } catch (IOException e) {
        e.printStackTrace();
    }
    }

}

1 个答案:

答案 0 :(得分:0)

问题是每次都没有重置字符串addTabMessage。所以一旦它被设置,它仍然具有该值。