⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2006110218220812234.txt

📁 可以进行文件分割和合并 可以进行文件分割和合并
💻 TXT
📖 第 1 页 / 共 2 页
字号:
package huzhidong;

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.sql.Date;

import javax.swing.*;

////////////主函数/////////
public class FileCut {
	public static void main(String args[]) {
		FileCutFrame fcf = new FileCutFrame();
		fcf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		fcf.pack();
		fcf.setVisible(true);
		fcf.setLocation(300, 300);
	}
}

////////文件分割器顶层容器类//
class FileCutFrame extends JFrame {
	public FileCutFrame() {
		setTitle("文件分割器");
		Container contentPane = getContentPane();
		FileCutPanel panel = new FileCutPanel();
		contentPane.add(panel);
	}
}

////////计算器界面类//////
class FileCutPanel extends JPanel {
	int number;//用于记录输入的数目

	JButton cut;//分割按钮

	JButton union;//合并按钮

	JButton ensure;//确认按钮

	JButton cancel;//取消按钮

	JButton lengthF;//大小按钮

	JButton numberF;//数目按钮

	JButton open;//浏览按钮1

	JButton saveTo;//浏览按钮2

	JButton addTFs;//添加按钮

	JTextArea helpText;//左边文本框

	JLabel label1;//原文件标签

	JLabel label2;//分割方式标签

	JLabel label3;//保存到标签

	JTextField source;//原文件文本框

	JScrollPane helpTJs;//左边文本框的顶层容器

	JTextField numIn;//数字输入框

	JTextField saveAs;//保存地址输入框

	JPanel jp1;

	JPanel jp2;

	JPanel jp3;

	JPanel jp4;

	JPanel jp5;

	JPanel jp6;

	JPanel jp7;
	JPanel jp8;

	static String flag1;//记录操作形式

	static String flag2;//记录分割形式

	int fileN = 0;//文件数组中文件个数

	File sourceFile;//原文件或文件夹

	JComboBox count;//单位选择

	String[] strOF;//记录要合并的文件名

	File[] unionFiles;//要合并的文件组

	final JProgressBar aJProgressBar; 
	

	
	/////构造方法/////
	public FileCutPanel() {
		

		ActionListener textAction2 = new TextAction2();
		ActionListener textAction1 = new TextAction1();
		ActionListener buttonAction1 = new ButtonAction1();
		setLayout(new BorderLayout());
		cut = new JButton("分割");
		cut.addActionListener(buttonAction1);
		union = new JButton("合并");
		union.addActionListener(buttonAction1);
		ensure = new JButton("确认");
		ensure.addActionListener(new QuerenButtonAction());
		cancel = new JButton("取消");
		cancel.addActionListener(buttonAction1);
		helpText = new JTextArea();
		helpText.setEditable(false);
		helpTJs = new JScrollPane(helpText);
		count = new JComboBox();
		count.insertItemAt("Mb", 0);
		count.insertItemAt("Kb", 1);
		count.insertItemAt("b", 2);
		count.setSelectedIndex(0);
		count.setEnabled(false);
		label1 = new JLabel("原文件");
		label2 = new JLabel("分割方式");
		label3 = new JLabel("保存到");
		source = new JTextField(11);
		source.addActionListener(textAction1);
		source.setEnabled(false);
		source.setToolTipText("输入文件路径后按回车可显示文件信息");
		numIn = new JTextField(4);
		numIn.addActionListener(textAction2);
		numIn.setEnabled(false);
		jp1 = new JPanel();
		jp2 = new JPanel();
		jp3 = new JPanel();
		jp4 = new JPanel();
		jp5 = new JPanel();
		jp6 = new JPanel();
		jp7 = new JPanel();
		jp8 = new JPanel();
		jp6.setLayout(new BorderLayout());
		jp7.setLayout(new BorderLayout());
		lengthF = new JButton("大小");
		lengthF.addActionListener(buttonAction1);
		lengthF.setToolTipText("此为分割后文件大小");
		lengthF.setEnabled(false);
		numberF = new JButton("数目");
		numberF.addActionListener(buttonAction1);
		numberF.setToolTipText("此为分割后文件数目");
		numberF.setEnabled(false);
		saveAs = new JTextField(16);
		saveAs.setEnabled(false);
		addTFs = new JButton("添加");
		addTFs.setEnabled(false);
		addTFs.setToolTipText("将文件添加到要合并的文件组中");
		addTFs.addActionListener(new addTFsActionL());
		open = new JButton("浏览");
		open.addActionListener(new LiulanAction1Performed());
		saveTo = new JButton("浏览");
		saveTo.addActionListener(new LiulanAction2Performed());
		jp1.setLayout(new FlowLayout(FlowLayout.LEFT));
		jp1.add(cut);
		jp1.add(union);
		jp6.add(jp1, BorderLayout.NORTH);
		jp6.add(helpTJs);
		jp2.add(label1);
		jp2.add(source);
		jp2.add(open);
		jp2.add(addTFs);
		jp7.add(jp2, BorderLayout.NORTH);
		helpText.setText("\n欢迎使用文件分割器\n" + "作者: 胡志栋\n" + "请选择您所要的操作\n\n"
				+ "选择上面的按钮");
		aJProgressBar = new JProgressBar();
		aJProgressBar.setMaximum(0);
		JPanel jp41 = new JPanel();
		JPanel jp42 = new JPanel();
		JPanel jp43 = new JPanel();
		jp41.add(label2);
		jp41.add(lengthF);
		jp41.add(numberF);
		jp41.add(numIn);
		jp41.add(count);
		jp42.add(label3);
		jp42.add(saveAs);
		jp42.add(saveTo);
		jp43.add(ensure);
		jp43.add(cancel);
		jp4.setLayout(new GridLayout(4, 1));
		jp4.add(jp41);
		jp4.add(jp42);
		jp4.add(jp43);
		jp4.add(aJProgressBar);
		jp7.add(jp4, BorderLayout.SOUTH);
		add(jp6, BorderLayout.WEST);
		add(jp7, BorderLayout.EAST);
		strOF = new String[20];
	}

	////////分割,合并,大小,数目,取消按钮事件类
	class ButtonAction1 implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			fileN = 0;
			source.setEnabled(true);
			saveAs.setEnabled(true);
			////当为分割时///
			if (e.getActionCommand() == "分割") {
				count.setEnabled(false);
				label2.setText("分割方式");
				flag1 = "分割";
				cut.setForeground(new Color(255, 0, 0));
				union.setForeground(new Color(0, 0, 0));
				lengthF.setEnabled(true);
				numberF.setEnabled(true);
				addTFs.setEnabled(false);
				label1.setText("原文件");
				//////////显示帮助信息///
				helpText
						.setText("分割使用方法:\n原文件输入要分割的文件,\n然后选择分割方式,保\n存处输入分割后的文件\n存放地址,点击确认即可");
			}
			////当为合并时///
			if (e.getActionCommand() == "合并") {
				addTFs.setEnabled(true);
				count.setEnabled(false);
				numIn.setEnabled(false);
				flag1 = "合并";
				union.setForeground(new Color(255, 0, 0));
				cut.setForeground(new Color(0, 0, 0));
				label1.setText("原文件");
				label2.setText("                ");
				lengthF.setEnabled(false);
				numberF.setEnabled(false);
				//////显示帮助信息////////
				helpText
						.setText("合并使用方法:\n原文件输入要合并的文件\n或它们所在文件夹,保存\n处输入的为合并后的文件,\n若该文件已经存在,则\n将该文件与原文件合并.");
			}
			///当为大小或数目按钮时//
			if (e.getActionCommand() == "大小" || (e.getActionCommand() == "数目")) {
				String str = source.getText();
				str = str.replace("\\", "/");//将文件名中"\"换为"/"
				File aimFile = new File(str);
				if (aimFile.exists()) {/////当原文件存在时显示其信息
					if (aimFile.isDirectory()) {//当为文件夹时
						helpText.setText("警告!!!\n该目标是一个文件夹\n文件夹名称:\n"
								+ aimFile.getName() + "\n文件数目:"
								+ aimFile.listFiles().length + "\n"
								+ new Date(aimFile.lastModified()));
					}
					if (aimFile.isFile()) {//当为文件时
						helpText.setText("文件夹名称:\n" + aimFile.getName()
								+ "\n大小:" + aimFile.length() + "byte\n"
								+ new Date(aimFile.lastModified()));
					}
				} else {
					helpText.setText("\n\n对不起,找不到原文件!\n");
				}
				numIn.setEnabled(true);
				if (e.getActionCommand() == "大小") {
					lengthF.setForeground(new Color(255, 0, 0));
					numberF.setForeground(new Color(0, 0, 0));
					count.setEnabled(true);
					flag2 = "lengthF";
				} else {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -