java - 继续迭代外部 while 循环

标签 java file nested-loops

我必须从两个文件中读取数据。为此,我必须使用 while 迭代这两个文件。这是我的代码...

//File1中的数据为A、B、C、D //File2中的数据为A,B,C

Scanner scanFile = new Scanner(new DataInputStream(fOne));
                while (scanFile.hasNextLine())
                {
                    countTwo = 0;
                    if(scanFile.nextLine()!=null)
                    {
                        count++;
                        Toast.makeText(getBaseContext(), "Count : " + count, 500).show();
                    }
                    else
                        scanFile.close();

                    Scanner scanFileT = new Scanner(new DataInputStream(fTwo));
                    while(scanFileT.hasNextLine())
                    {
                        if(scanFileT.nextLine()!=null)
                        {

                            countTwo++;
                            Toast.makeText(getBaseContext(), "CountTwo : " + countTwo, 500).show();                 
                        }

                        else
                            scanFileT.close();
                    }


                }

我正在使用 while 循环。我在这里得到的结果是,第一次 count = 1,countTwo 变量为 1、2 和 3,然后再次将 count 变量设置为 2、3、4(因为 file1 中的数据为 4,file2 中的数据为 3)。现在我必须迭代外部 while 循环,例如我得到的计数值为 count=2 且 countTwo= 1, 2, 3。再次 count=3 且 countTwo = 1, 2, 3。再次 count=4 且 countTwo = 1, 2 , 3. 需要做什么?

最佳答案

try
            {
            FileInputStream fOne = openFileInput("File1");

            } 
            catch (FileNotFoundException e) 
            {
                e.printStackTrace();
            }
            Scanner scanFile = new Scanner(new DataInputStream(fOne));
            while (scanFile.hasNextLine())
            {
                countTwo = 0;
                if(scanFile.nextLine()!=null)
                {
                    count++;
                    Toast.makeText(getBaseContext(), "Count : " + count, 500).show();
                }
               FileInputStream fTwo = openFileInput("File2");
               Scanner scanFileT = new Scanner(new DataInputStream(fTwo));
                while(scanFileT.hasNextLine())
                {
                    if(scanFileT.nextLine()!=null)
                    {

                        countTwo++;
                        Toast.makeText(getBaseContext(), "CountTwo : " + countTwo, 500).show();                 
                    }
                }
              fTwo.close();
            }

在外部 while 循环内而不是外部读取您的第二个文件,即对于第一个文件的每一行,您的第二个文件将被读取,并且 countTwo 将再次从 1 开始

关于java - 继续迭代外部 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18458881/

相关文章:

java - 如何使用 Hibernate 获取不完整的集合?

c - 为什么当我尝试写入文件时会出现奇怪的字符?

Linux命令查找目录中所有具有相同名称但不同扩展名的文件?

python - 在嵌套 while 循环中使用 matplotlib 绘制多个图

JAVA嵌套循环用法

java - 将数据库数据输出到 JTable

java - 使 HyperlinkListener 与 JeditorPane NullPointerException 一起使用

java - 列表列表的笛卡尔积

java - 分析期间无法访问菜单

C++ 创建文件时出错(名称基于其他文件名)