Java 显示从地图读取的总行数

Java 显示从地图读取的总行数,java,Java,我有一个应用程序,在这个应用程序中,用户选择一个特定的文件夹,然后计算该文件夹中的所有文件以及这些文件中的代码行,并在控制台上显示文件名和其中的代码行。这是我的一段代码 Map<String, Integer> result = new HashMap<String, Integer>(); File directory = new File(chooser.getSelectedFile().getAbsolutePath());

我有一个应用程序,在这个应用程序中,用户选择一个特定的文件夹,然后计算该文件夹中的所有文件以及这些文件中的代码行,并在控制台上显示文件名和其中的代码行。这是我的一段代码

Map<String, Integer> result = new HashMap<String, Integer>();  
                File directory = new File(chooser.getSelectedFile().getAbsolutePath());   
                File[] files = directory.listFiles();  
                for (File file : files)  
                {  
                    if (file.isFile())  
                    {    Scanner scanner = new Scanner(new FileReader(file));  
                        int lineCount = 0;  
                        try  
                        { for (lineCount = 0; scanner.nextLine() != null; lineCount++) ;  
                        } catch (NoSuchElementException e)  
                        {   result.put(file.getName(), lineCount);  
                        }  
                    }  
                }  
                for (Map.Entry<String, Integer> entry : result.entrySet())  
                {   System.out.println(entry.getKey() + " ==> " + entry.getValue());  
                }  }  
Map result=newhashmap();
文件目录=新文件(chooser.getSelectedFile().getAbsolutePath());
File[]files=目录.listFiles();
用于(文件:文件)
{  
if(file.isFile())
{Scanner Scanner=new Scanner(new FileReader(file));
int lineCount=0;
尝试
{for(lineCount=0;scanner.nextLine()!=null;lineCount++);
}捕获(无接触元素例外e)
{result.put(file.getName(),lineCount);
}  
}  
}  
for(Map.Entry:result.entrySet())
{System.out.println(entry.getKey()+“==>”+entry.getValue());
}  }  

但我想再增加一个功能,它还应该显示所有文件的总行数让我们假设这6个单独的文件有10行代码,每行代码的总和是10*6,即总共读取60行,如何实现这一点请告知

为什么不为每个地图输入值添加一个计数器,并将其添加到计数器/累加器中,然后打印出来:

                Map<String, Integer> result = new HashMap<String, Integer>();  
                File directory = new File(chooser.getSelectedFile().getAbsolutePath());   
                File[] files = directory.listFiles();  

                for (File file : files)  
                {  
                    if (file.isFile())  
                    {    
                        Scanner scanner = new Scanner(new FileReader(file));  
                        int lineCount = 0;  

                        try  
                        { for (lineCount = 0; scanner.nextLine() != null; lineCount++);  
                        } catch (NoSuchElementException e)  
                        {   result.put(file.getName(), lineCount);  
                        }  

                    }  
                }  

                int lineCounter = 0;  
                for (Map.Entry<String, Integer> entry : result.entrySet())  
                {  
                    System.out.println(entry.getKey() + " ==> " + entry.getValue());
                    lineCounter+=entry.getValue();  
                }  
                 System.out.println(String.valueOf(lineCounter));
Map result=newhashmap();
文件目录=新文件(chooser.getSelectedFile().getAbsolutePath());
File[]files=目录.listFiles();
用于(文件:文件)
{  
if(file.isFile())
{    
Scanner Scanner=新扫描仪(新文件读取器(文件));
int lineCount=0;
尝试
{for(lineCount=0;scanner.nextLine()!=null;lineCount++);
}捕获(无接触元素例外e)
{result.put(file.getName(),lineCount);
}  
}  
}  
int lineCounter=0;
for(Map.Entry:result.entrySet())
{  
System.out.println(entry.getKey()+“==>”+entry.getValue());
lineCounter+=entry.getValue();
}  
System.out.println(String.valueOf(lineCounter));

要显示您正在读取的所有文件的总行数,您需要将每个文件的行数相加为另一个变量

Map<String, Integer> result = new HashMap<String, Integer>();  
            File directory = new File(chooser.getSelectedFile().getAbsolutePath());   
            File[] files = directory.listFiles();
            int totalLineCount = 0;
            for (File file : files)  
            {  
                if (file.isFile())  
                {    Scanner scanner = new Scanner(new FileReader(file));  
                    int lineCount = 0;  
                    try  
                    { for (lineCount = 0; scanner.nextLine() != null; lineCount++) ;  
                    } catch (NoSuchElementException e)  
                    {   result.put(file.getName(), lineCount);
                        totalLineCount += lineCount;   
                    }  
                }  
            }
             System.out.println("Total line count = "+ totalLineCount);

            for (Map.Entry<String, Integer> entry : result.entrySet())  
            {   System.out.println(entry.getKey() + " ==> " + entry.getValue());  
            }  } 
Map result=newhashmap();
文件目录=新文件(chooser.getSelectedFile().getAbsolutePath());
File[]files=目录.listFiles();
int totalinecount=0;
用于(文件:文件)
{  
if(file.isFile())
{Scanner Scanner=new Scanner(new FileReader(file));
int lineCount=0;
尝试
{for(lineCount=0;scanner.nextLine()!=null;lineCount++);
}捕获(无接触元素例外e)
{result.put(file.getName(),lineCount);
TotalineCount+=行数;
}  
}  
}
System.out.println(“总行数=“+totalinecount”);
for(Map.Entry:result.entrySet())
{System.out.println(entry.getKey()+“==>”+entry.getValue());
}  } 
因此,如果您有10个文件,每个文件有6行,那么TotalineCount应该是60