`
大_圣
  • 浏览: 17665 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

文件计数器

 
阅读更多

为了熟悉文件的基本操作,写了一个文件计数器 .. 界面有些简陋..

 

 

 

1: 文件计数的具体实现

import java.io.File;

import javax.swing.JOptionPane;

/**
 * 指定路径下文件夹和文件的数目及大小.
 * @author d.s
 *z
 */
public class FileCount {

	/**
	 * 得到文件数目
	 * 
	 * @param path
	 *            :指定的路径
	 * @return 文件个数
	 */
	public int fCount(String path) {
		int countF = 0;
		File file = new File(path);

		// 路径存在时:
		if (file.exists()) {

			// 该路径下是一个文件的时候
			if (file.isFile()) {
				System.out.println("文件路径为:" + file.getAbsolutePath());
				countF++;
			}
			if (file.isDirectory()) {// 该路径下是一个文件夹的时候

				// 依次访问该文件夹下的所有文件和文件夹.
				File f[] = file.listFiles();
				for (int i = 0; i < f.length; i++) {
					// 递归调用fCount方法
					countF += fCount(f[i].getAbsolutePath());
				}
			}
		} else {
			JOptionPane.showMessageDialog(null, "统计文件数目的路径错误!!!");
		}
		
		return countF;
	}

	/**
	 * 该路径下的文件夹数目
	 * 
	 * @param path指定的路径
	 * @return 文件夹数目
	 */
	public int Dircount(String path) {
		int countD = 0;
		File file = new File(path);

		// 如果路径正确
		if (file.exists()) {

			// 是文件夹的时候
			if (file.isDirectory()) {
				System.out.println(file.getAbsolutePath());
				countD++;
				File f[] = file.listFiles();
				for (int i = 0; i < f.length; i++) {
					// 递归
					countD += Dircount(f[i].getAbsolutePath());
				}
			}
		} else {
			JOptionPane.showMessageDialog(null, "统计文件夹的路径错误!!!");
		}
		
		return countD;

	}

	/**
	 * 得到指定路径下所有文件的大小之和
	 * 
	 * @param path指定的路径
	 * @return 指定路径下所有文件的大小之和
	 */
	public long fileLength(String path) {
		long length = 0;
		File file = new File(path);

		// 如果路径正确
		if (file.exists()) {
			//如果是文件
			if(file.isFile()){
				length += file.length();
			}
			
			//如果是文件夹
			if(file.isDirectory()){
				File f[] = file.listFiles();
				for(int i = 0; i< f.length;i++){
					length += fileLength(f[i].getAbsolutePath());
				}
			}
		}
		
		return length;
	}
}

 

 

2: 计数器的一个简单界面

import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class FileCountUI extends JFrame {
	public static void main(String args[]) {
		FileCountUI ui = new FileCountUI();
		ui.showUI();
	}

	public void showUI() {
		this.setTitle("FileCount");
		this.setSize(350, 150);
		JLabel jl = new JLabel("指定目录:");
		JTextField jf = new JTextField(20);
		this.add(jl);
		this.add(jf);
		JButton but1 = new JButton("文件数目");
		JButton but2 = new JButton("文件夹数目");
		JButton but3 = new JButton("文件的总大小");
		
		//加按钮
		this.add(but1);
		this.add(but2);
		this.add(but3);
		
		this.setLayout(new FlowLayout());//流体式布局
		this.setLocationRelativeTo(null);//居中显示
		this.setResizable(false);//不可改变大小
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);//关闭界面时退出程序
		this.setVisible(true);//显示窗体

		// 添加监听器
		ActionListenerImpl l = new ActionListenerImpl(jf);
		but1.addActionListener(l);
		but2.addActionListener(l);
		but3.addActionListener(l);

	}

}

 

 

 

3:监听器

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JTextField;

public class ActionListenerImpl implements ActionListener{

	private JTextField jf = new JTextField();
	
	public ActionListenerImpl(JTextField jf){
		this.jf = jf;
	}
	
	public void actionPerformed(ActionEvent e) {
		
		JButton but= (JButton)e.getSource();//获取事件源
		
		FileCount fc = new FileCount();
		if(but.getText() == "文件数目"){
			System.out.println("文件数目为:"+fc.fCount(jf.getText()));
		}
		if(but.getText() == "文件夹数目"){
			System.out.println("文件夹的数目为:"+fc.Dircount(jf.getText()));
		}
		if(but.getText() == "文件的总大小"){
			System.out.println(fc.fileLength(jf.getText()));
		}
		
	}
	

}

 

 

界面如下


  • 大小: 14.3 KB
分享到:
评论

相关推荐

    ASP文件计数器,应用图片显示。

    ASP文件计数器-ASP文件计数器-ASP文件计数器,应用数字图片显示数字。

    文件计数器,可以方便的计算各种文件的个数。

    可以计算某文件夹下所有文件个数,可以根据某个后缀名或多个后缀名,分别计算文件的个数和文件总数,可以计算某个文件夹下除某个后缀名以外的文件个数,这是上一版的修改。

    简单文件计数器

    "简单文件计数器"就是一个很好的例子,它利用C语言来统计文件的打开次数。这个程序对于系统监控、日志分析或是资源管理等场景都有一定的应用价值。 首先,我们要理解文件计数器的工作原理。这个程序的核心是记录...

    文件计数器,计算文件总数,去掉后缀名的文件总数,计算单独某一个或几个后缀名的文件数

    计算文件总数,去掉后缀名的文件总数,计算单独某一个或几个后缀名的文件总数,和每个后缀名的文件数。

    文件操作函数 之 图片计数器的实例

    ### 文件操作函数之图片计数器的实例 在本篇内容中,我们将深入探讨如何使用PHP中的文件操作函数实现一个简单的图片计数器实例。通过这个实例,不仅可以学习到基本的文件读写操作,还能了解到如何利用PHP进行文件...

    计数器,ASP计数器,IP地址日流量探针,

    等 我下另两个文件,这是第一个文件,还有两个文件 计数器,ASP计数器,IP地址日流量探针,

    用文本文件简单PHP计数器

    计数器可以用文本文件或数据库来实现。一般来说,我们用文本文件就可以了。

    counter计数器的顶层文件

    counter计数器的顶层文件,用于计数器的仿真

    C++实现遍历文件夹内的所有文件

    这段代码定义了一个名为`traverseDirectory`的函数,它接受一个路径、文件计数器和目录计数器作为参数。在函数中,我们遍历指定路径下的所有条目,对每个条目进行检查并更新计数器。如果遇到子目录,我们递归调用`...

    十三进制同步计数器_计数器_十三进制同步计数器_

    在“电子181 付赫然 十三进制同步计数器.ms14”这个文件中,很可能是包含了付赫然同学关于十三进制同步计数器的课程作业或项目设计,可能包括理论分析、电路图、Verilog或VHDL代码实现等具体内容。这样的学习资料...

    计数器_计数器_源码

    此外,"计数器图.docx"文件可能包含了计数器的逻辑结构图或者工作流程图,这对于理解和分析计数器的内部工作原理非常有帮助。这些图形通常会展示触发器之间的连接,以及如何根据输入信号来控制计数行为。 在设计...

    鼠标计数器 键盘计数器

    【标题】"鼠标计数器 键盘计数器"是一款专为用户设计的实用工具,主要用于记录和统计用户在使用计算机过程中鼠标和键盘的活动情况..."鼠标键盘按键计算器.exe"文件就是该功能的可执行程序,用户只需运行即可开始统计。

    eda实验1000进制计数器

    文件名为"1000进制计数器"可能包含的是这个实验的设计文件,如VHDL或Verilog源代码,或者是实验报告,详细记录了设计思路、步骤和测试结果。通过分析和理解这些文件,学生可以深入学习到数字电路设计、时序逻辑和EDA...

    计数器

    本文将深入探讨“计数器”这一主题,特别是与提供的压缩包文件"counter1.zip"和"计数器二"相关的知识点。 首先,"计数器一"被描述为适合大众使用的计数器,能够自动生成0-9的数字图案,并且使用非常灵活。这意味着...

    代码行数计数器

    而“计数器”在这里特指用于统计这些源代码文件中行数的工具。 总的来说,“代码行数计数器”是一个实用的开发辅助工具,能够帮助开发者快速获取项目代码的量化信息,从而辅助决策和优化工作流程。在实际应用中,...

    用VHDL设计100进制加减计数器

    - 这个文件可能是计数器输出的一个示例列表,显示了计数器从0递增到99,然后可能递减回到0的过程。这样的列表有助于验证设计的正确性。 总的来说,这个项目涵盖了数字系统设计的基础,特别是使用VHDL实现特定功能...

    c#网页计数器 c#网页计数器

    ### C#网页计数器实现原理与代码解析 #### 一、引言 在Web开发中,有时我们需要统计页面的访问次数,这不仅有助于了解网站的流量情况,还能为后续的功能优化提供数据支持。本篇文章将详细介绍如何使用C#语言实现一...

    Flash计数器.zip

    【Flash计数器.zip】是一个包含多个文件的压缩包,主要目标是提供一个基于Flash技术的计数器应用。这个计数器可能被用于网站访问量统计或其他需要实时更新数字显示的场景。让我们深入探讨一下这个压缩包中的每个文件...

    计数器源码-网站计数器

    在这个"计数器源码-网站计数器"压缩包中,包含的文件可能是实现这一功能的JavaScript代码,名为"jsq"。 计数器的实现方式多种多样,可以从简单的静态计数到复杂的动态统计。对于一个小型的、好用的网站计数器源码,...

    【单片机】实验四计数器工程文件.rar

    【单片机】实验四计数器工程文件的探索与学习 在电子工程领域,单片机(Microcontroller Unit,MCU)是一种集成化的微处理器,它将CPU、内存、定时器/计数器以及输入/输出接口等硬件集成在一个芯片上,常用于控制...

Global site tag (gtag.js) - Google Analytics