简单的文件分割器源码

package wangfh.com.cn;
import java.awt.FileDialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import javax.swing.*;
public class FileSa implements ActionListener{
 JTextField ja1 = new JTextField(20);
 JTextField ja2 = new JTextField(20);
 FileDialog fd = null;
    public FileSa(){
     JFrame jf = new JFrame("文件分割");
     fd = new FileDialog(jf);
     JPanel j1 = new JPanel();
     JPanel j2 = new JPanel();
     JLabel jl1 = new JLabel("open file:");
     JLabel jl2 = new JLabel("size:");
     JButton jb1 = new JButton("open");
     JButton jb2 = new JButton("split");
     JButton jb3 = new JButton("sum");
     jb1.addActionListener(this);
     jb2.addActionListener(this);
     jb3.addActionListener(this);
     j1.add(jl1);
     j1.add(ja1);
     j1.add(jb1);
     j2.add(jl2);
     j2.add(ja2);
     j2.add(jb2);
     j2.add(jb3);
     jf.add(j1,"North");
     jf.add(j2);
     jf.setVisible(true);
     jf.pack();
     jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
 public static void main(String[] args) {
  new FileSa();
 }
 public void actionPerformed(ActionEvent e) {
  String comm = e.getActionCommand();
  if(comm.equals("open")){
   fd.setVisible(true);
   if(fd.getFile()!=null){//有选择文件
    ja1.setText(fd.getDirectory()+fd.getFile());
   }
  }else if(comm.equals("split")){
   if((!ja1.getText().equals("")) &&(!ja2.getText().equals(""))){
    try{
        FileInputStream fis = new FileInputStream(ja1.getText());
        byte[] b = new byte[Integer.parseInt(ja2.getText())];
        int n = 0;
        int i = 0;
        while((n=fis.read(b))!=-1){
            FileOutputStream fos =
             new FileOutputStream(ja1.getText()+i);
            fos.write(b,0,n);
            fos.close();
            i++;
        }
        fis.close();
    }catch(Exception ee){
     ee.printStackTrace();
    }
   }
  }else{
   if(!ja1.getText().equals("")){
    try{
     FileOutputStream fos = new FileOutputStream(ja1.getText());     
        int n = 0;
        int i = 0;
        while(true){
         File f = new File(ja1.getText()+i);
         if(f.exists()){
             FileInputStream fis =
              new FileInputStream(f);
             byte[] b = new byte[(int)f.length()];
             n=fis.read(b);
                fos.write(b,0,n);          
                fis.close();
                i++;
                System.out.println(i);
            }else{
             fos.close();
             break;
            }
        }
       
    }catch(Exception ee){
     ee.printStackTrace();
    }
   }
  }
 }

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值