Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果一个文件不存在,那么接下来的所有文件都不会在Java for Android中读取_Java_Android_Android Actionbar_Android Tabs - Fatal编程技术网

如果一个文件不存在,那么接下来的所有文件都不会在Java for Android中读取

如果一个文件不存在,那么接下来的所有文件都不会在Java for Android中读取,java,android,android-actionbar,android-tabs,Java,Android,Android Actionbar,Android Tabs,我想在Android中为操作栏的选项卡添加文本文件。for循环将查看每个文件。如果文件包含内容,则会将其添加为选项卡标题。for循环用于跳过任何不存在的文件。但事实并非如此;如果文件不存在,则不会继续添加选项卡 我知道文件没有损坏,因为当我添加文本文件使其再次存在时,所有文本文件都将变成选项卡 for (addTabPosition = 2; addTabPosition < 11; addTabPosition++) { GetTopics(); i

我想在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();
    }
    }

}
for(addTabPosition=2;addTabPosition<11;addTabPosition++){
GetTopics();
if(addTabMessage.contentEquals(“FileNotFound”)){
Log.e(“skiper”、“文件跳过”+addTabPosition);
}否则{
开关(添加位置){
案例2:
ActionBar.Tab tab2=ActionBar.newTab();
tab2.setText(addTabTitle);
表2.设置列表器(本);
actionBar.addTab(表2);
tabNumber++;
打破
案例3:
ActionBar.Tab tab3=ActionBar.newTab();
tab3.setText(addTabTitle);
表3.设置列表器(本);
actionBar.addTab(表3);
tabNumber++;
打破
案例4:
ActionBar.Tab tab4=ActionBar.newTab();
tab4.setText(addTabTitle);
表4.设置列表器(本);
actionBar.addTab(tab4);
tabNumber++;
打破
案例5:
ActionBar.Tab tab5=ActionBar.newTab();
tab5.setText(addTabTitle);
表5.设置列表器(本);
actionBar.addTab(表5);
tabNumber++;
打破
案例6:
ActionBar.Tab tab6=ActionBar.newTab();
tab6.setText(addTabTitle);
表6.设置列表器(本);
actionBar.addTab(tab6);
tabNumber++;
打破
案例7:
ActionBar.Tab tab7=ActionBar.newTab();
tab7.setText(addTabTitle);
表7.设置列表器(本);
actionBar.addTab(表7);
tabNumber++;
打破
案例8:
ActionBar.Tab tab8=ActionBar.newTab();
tab8.setText(addTabTitle);
表8.设置列表器(本);
actionBar.addTab(表8);
tabNumber++;
打破
案例9:
ActionBar.Tab tab9=ActionBar.newTab();
tab9.setText(addTabTitle);
表9.设置列表器(本);
actionBar.addTab(tab9);
tabNumber++;
打破
案例10:
ActionBar.Tab tab10=ActionBar.newTab();
tab10.setText(addTabTitle);
表10.设置列表器(本);
actionBar.addTab(tab10);
tabNumber++;
打破
}
}
}
}
私有void GetTopics(){
//TODO自动生成的方法存根
File File=新文件(Environment.getExternalStorageDirectory().getAbsolutePath(),“topic”+addTabPosition+“.json”);
Log.e(“,file.toString());
如果(!file.exists()){//检查文件是否存在
addTabMessage=“FileNotFound”;
Log.e(“未找到”,file.toString());
}否则{
试一试{
FileReader fr=新的FileReader(文件);
BufferedReader br=新的BufferedReader(fr);
addTabTitle=br.readLine();
文件名[addTabPosition]=文件;
br.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}
}

问题在于每次都没有重置字符串addTabMessage。因此,一旦它被设置,它仍然保持该值

您是否在日志文件中看到“文件跳过”消息