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

📄 wsuperfile.java

📁 用java写的一个文件切割(恢复)程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                gbc.insets =new Insets(2,5,1,5);
                gbLayout.setConstraints (kbt,gbc);
                add(kbt);
                
                setVisible(true);
        }
        public void actionPerformed(ActionEvent e)
        {
                if(e.getSource ()==source)
                {
                        fd=new FileDialog (this,"打开文件",FileDialog.LOAD );
                        fd.setDirectory ("F:\\temp");
                        fd.show();
                        fpath1=fd.getDirectory ()+fd.getFile ();
                        ls.setText ("...\\"+fd.getFile ());
                }
                else if(e.getSource ()==dest){
                        fd1=new FileDialog (this,"保存文件",FileDialog.SAVE  );
                        fd1.setDirectory ("F:\\temp");
                        fd1.setFile ("Defaltcut1.spf");
                        fd1.show();
                        fpath2=fd1.getDirectory ();
                        ld.setText (fpath2);
                }
                else if(e.getSource ()==Return)
                {
                        dispose();
                        new wsuperFile();
                }else if(e.getSource ()==ok)
                {
                        decide.dispose();
                }else 
                {
                        filecutter();
                }
        }
        public void itemStateChanged(ItemEvent e)
        {
                if(fp.getState ())
                {
                        tf.setText ("1380");
                        tf.setEditable(false);
                        size.setSelectedCheckbox(kbt);
                        decide.setTitle ("请放入软盘");
                        decide.show();
                }
                else tf.setEditable (true);
        }
        void filecutter()
        {
                int chi=0;
                int j=1;
                int block;
                boolean sta=fp.getState ();
                start.setEnabled (false);
                Return.setEnabled (false);
        source.setEnabled (false);
                dest.setEnabled (false);
                fp.setEnabled(false);

                File srcf=new File(fpath1);
                if(bt.getState ())
                        block=toInt(tf.getText());
                else
                        block=toInt(tf.getText())*1000;
                try{
                        FileInputStream isrcf=new FileInputStream (srcf);
                    if(srcf.exists ())
                    {
                                 process.setText ("进行中");
                             FileOutputStream df=new FileOutputStream (fpath2+"cut1.spf");
                             while(true)
                             {
                                       for(int i=1;i<=block&&(chi=isrcf.read ())!=-1;i++)
                                                df.write (chi);
                                       df.close ();
                                           if(chi==-1) break;
                                           if(sta)
                                           {
                                               decide.setTitle ("请更换软盘");
                                               decide.show();
                                           }
                                       df=new FileOutputStream (fpath2+"cut"+Integer.toString (++j)+".spf");
                             }
                                 isrcf.close ();
                                 process.setText ("完成");
                                 source.setEnabled (true);
                                 dest.setEnabled (true);
                                 start.setEnabled (true);
                                 Return.setEnabled (true);
                                 fp.setEnabled (true);
                         }
                }
                catch(IOException e){
                        System.err.println(e);
                }
        }
}

//class of FileReviver
class FileReviver extends Myframe
{
        FileReviver()
        {
                super("FileReviver");
                
                label1.setText("源目录:");
                label2.setText ("保存为:");
                Label label4=new Label ("输入文件数:");
                fp.setLabel ("从软盘恢复");
        tf=new TextField (5);
                
                gbc.gridx=3;  gbc.gridy=5;
                gbc.gridheight =1;  gbc.gridwidth =1;
                gbc.insets =new Insets(2,5,1,5);
                gbLayout.setConstraints (tf,gbc);
                add(tf);
                
                gbc.gridx=2;  gbc.gridy=5;
                gbc.gridheight =1;  gbc.gridwidth =1;
                gbc.insets =new Insets(2,5,1,5);
                gbLayout.setConstraints (label4,gbc);
                add(label4);

                setVisible(true);
        }
        public void actionPerformed(ActionEvent e)
        {
                if(e.getSource ()==source)
                {
                        fd=new FileDialog (this,"打开文件",FileDialog.LOAD );
                        fd.setDirectory ("F:\\temp");
                        fd.show();
                        fpath1=fd.getDirectory ();
                        ls.setText (fpath1);
                }
                else if(e.getSource ()==dest){
                        fd1=new FileDialog (this,"保存文件",FileDialog.SAVE  );
                        fd1.setDirectory ("F:\\temp");
                        fd1.show();
                        fpath2=fd1.getDirectory ()+fd1.getFile ();
                        ld.setText ("...\\"+fd1.getFile ());
                }
                else if(e.getSource ()==Return)
                {
                        dispose();
                        new wsuperFile();
                }else if(e.getSource ()==ok)
                {
                        
                        decide.dispose ();
                }else
                {
                        filereviver();
                }
        }
        public void itemStateChanged(ItemEvent e)
        {
                if(fp.getState ())
                {
                        decide.setTitle ("请放入软盘");
                        decide.show();
                }
        }
        public void filereviver()
        {
                int chi;
                int i;
                int n=0;
                File dir=new File(fpath1);
                boolean sta=fp.getState ();
                start.disable ();
                Return.disable ();
        source.disable ();
                dest.disable ();
                fp.disable();
                tf.setEnabled (false);
                try
                {
                        if(dir.isDirectory ()) n=(dir.list()).length;
                        if(sta) n=toInt(tf.getText ());
                        process.setText ("进行中");
                        FileOutputStream df=new FileOutputStream (fpath2);
                        for(i=1;i<=n;i++){
                           FileInputStream srcf=new FileInputStream (fpath1+"cut"+Integer.toString (i)+".spf");
                         
                           while((chi=srcf.read ())!=-1)
                                  df.write (chi);
                           srcf.close ();
                           if(i<n&&sta)
                           {
                               decide.setTitle ("请更换软盘");
                               decide.show();
                           }
                        }
                        df.close ();
                    process.setText ("完成");
                        source.setEnabled (true);
                    dest.setEnabled (true);
                        start.setEnabled (true);
                        Return.setEnabled (true);
                        fp.setEnabled (true);
                        tf.setEnabled (true);
                }
                catch(IOException e)
                {
                        System.err.println (e);
                }
        }
}

⌨️ 快捷键说明

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