我需要为我的应用程序创建逻辑以登录 2 个文件,但它只登录一个

I need to create the logic for my app to log in 2 files, but it only logs in one

这是我编写的代码。它背后的逻辑是,我需要登录第一个文件,直到它达到 1500000(1.5mb)的长度,然后登录第二个文件,当两个文件都满时,清除第一个日志文件并写入在里面。

 public static void appendLog(String text)
{
    File dir = new File(Environment.getExternalStorageDirectory() + "/Passenger");
    if (!dir.exists())
        dir.mkdir();
    File logFile = new File(Environment.getExternalStorageDirectory() + "/Passenger/passenger_log.txt");
    File logFile2 = new File(Environment.getExternalStorageDirectory() + "/Passenger/passenger_log2.txt");
    if (!logFile.exists())
    {
        try
        {
            logFile.createNewFile();
            logFile2.createNewFile();
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    try
    {
        if(logFile.length() > 1500000 ) {
            writeTo1 = false;
            writeToLog(text, logFile2);
        }else if (logFile.length() > 1500000  && logFile2.length() > 1500000 ){
            logFile.delete();
            logFile.createNewFile();
            writeTo1 = true;
            writeToLog(text, logFile);
        } else{
            writeTo1 = true;
            writeToLog(text, logFile);
        }
        if(writeTo1 == true && logFile.length() > 800000){
            logFile2.delete();
            logFile2.createNewFile();
        }
    }
    catch (IOException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

问题是它只记录了第一个文件,我的逻辑有什么问题吗?

改成这样,现在可以了:

public static void appendLog(String text)
{
    File dir = new File(Environment.getExternalStorageDirectory() + "/Passenger");
    if (!dir.exists())
        dir.mkdir();
    File logFile = new File(Environment.getExternalStorageDirectory() + "/Passenger/passenger_log.txt");
    File logFile2 = new File(Environment.getExternalStorageDirectory() + "/Passenger/passenger_log2.txt");
    if (!logFile.exists())
    {
        try
        {
            logFile.createNewFile();
            logFile2.createNewFile();
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    try {
        if (logFile.length() > 1500000  && logFile2.length() > 1500000 ){
            logFile.delete();
            logFile.createNewFile();
            writeTo1 = true;
            writeToLog(text, logFile);
        }else if(logFile.length() > 1500000 ) {
            writeTo1 = false;
            writeToLog(text, logFile2);
        } else{
            writeTo1 = true;
            writeToLog(text, logFile);
        }
        if(writeTo1 == true && logFile.length() > 1500000 && logFile2.length() > 1500000){
            logFile2.delete();
            logFile2.createNewFile();
        }
    }
    catch (IOException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

非常感谢Vandaics,你是对的,我改变了那两个,并且经过一些测试,我设法让它完美地工作