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

📄 jcdwriter.java

📁 将用户指定的数据保存成一个iso文件
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/*        calculateFileSystemSize.setText("Calculate Image Size");        calculateFileSystemSize.setToolTipText("Creates an .iso image of the CD.");        calculateFileSystemSize.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                calculateFileSystemSizeActionPerformed(evt);            }        });         diskMenu.add(calculateFileSystemSize); */        mainMenuBar.add(diskMenu);        helpMenu.setMnemonic('H');        helpMenu.setText("Help");                aboutMenuItem.setText("About jCDWriter");        aboutMenuItem.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                aboutMenuItemActionPerformed(evt);            }        });        helpMenu.add(aboutMenuItem);        mainMenuBar.add(helpMenu);        setJMenuBar(mainMenuBar);                        // Make a toolbar        mainToolBar = new javax.swing.JToolBar();                // new layout button        newLayoutButton = new javax.swing.JButton();        newLayoutButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/jcdwriter/images/new_icon.png")));        newLayoutButton.setToolTipText("Create New Layout");                newLayoutButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                newLayoutActionPerformed(evt);            }        });        mainToolBar.add(newLayoutButton);                // open layout button        openLayoutButton = new javax.swing.JButton();        openLayoutButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/jcdwriter/images/open_icon.png")));        openLayoutButton.setToolTipText("Open Saved Layout");                openLayoutButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                loadLayoutActionPerformed(evt);            }        });        mainToolBar.add(openLayoutButton);                // edit preferences button        editPreferencesButton = new javax.swing.JButton();        editPreferencesButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/jcdwriter/images/preferences.png")));        editPreferencesButton.setToolTipText("Edit Preferences");                editPreferencesButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                preferencesMenuItemActionPerformed(evt);            }        });                mainToolBar.add(editPreferencesButton);                // erase disk button        eraseDiskButton = new javax.swing.JButton();        eraseDiskButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/jcdwriter/images/erasedisk.png")));        eraseDiskButton.setToolTipText("Erase R/W Disk");                eraseDiskButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                blankCDActionPerformed(evt);            }        });                mainToolBar.add(eraseDiskButton);                // write disk image        writeDiskImageButton = new javax.swing.JButton();        writeDiskImageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/jcdwriter/images/write_disk_image.png")));        writeDiskImageButton.setToolTipText("Write Disk Image To File");                writeDiskImageButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                createCDImageActionPerformed(evt);            }        });                mainToolBar.add(writeDiskImageButton);                // write disk using image button        writeDiskFromImageButton = new javax.swing.JButton();        writeDiskFromImageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/jcdwriter/images/write_disk_from_image.png")));        writeDiskFromImageButton.setToolTipText("Write Disk From Image File");                writeDiskFromImageButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                recordFromISOImageActionPerformed(evt);            }        });                mainToolBar.add(writeDiskFromImageButton);                // write disk button        writeDiskButton = new javax.swing.JButton();        writeDiskButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/jcdwriter/images/writedisk.png")));        writeDiskButton.setToolTipText("Write Disk");                writeDiskButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                recordDirectlyToDisk(evt);            }        });                mainToolBar.add(writeDiskButton);                        mainPanel.add(mainToolBar, java.awt.BorderLayout.NORTH);                pack();    }        private void calculateFileSystemSizeActionPerformed(java.awt.event.ActionEvent evt) {        // Add your handling code here:        virtualFileSystemPanel.printVirtualFileSystemSize();    }        private void saveLayoutActionPerformed(java.awt.event.ActionEvent evt) {        JFileChooser fileChooser = new JFileChooser(applicationSettings.diskLayoutFileDirectory());        int returnVal = fileChooser.showSaveDialog(this);        if(returnVal == JFileChooser.APPROVE_OPTION) {            currentFile = new File(fileChooser.getSelectedFile().getAbsolutePath());            saveDiskLayout();        }        else {        }    }        private void loadLayoutActionPerformed(java.awt.event.ActionEvent evt) {        JFileChooser fileChooser = new JFileChooser(applicationSettings.diskLayoutFileDirectory());        int returnVal = fileChooser.showOpenDialog(this);        if(returnVal == JFileChooser.APPROVE_OPTION) {            currentFile = new File(fileChooser.getSelectedFile().getAbsolutePath());            readDiskLayout();        }        else {        }    }        private void newLayoutActionPerformed(java.awt.event.ActionEvent evt) {        virtualFileSystemPanel.initializeTreeModel();    }        private void createCDImageActionPerformed(java.awt.event.ActionEvent evt) {        if (virtualFileSystemPanel.isEmpty()) {            JOptionPane.showMessageDialog(null, "Nothing in disk layout.  Add some files and try again.", "No files in layout", JOptionPane.INFORMATION_MESSAGE);        }        else {            String creatorID = System.getProperty("user.name");            creatorID = JOptionPane.showInputDialog("Enter creator ID", creatorID);            if (creatorID != null && creatorID.length() != 0) {                String preparerID = JOptionPane.showInputDialog("Enter preparor ID", creatorID);                if (preparerID != null && preparerID.length() != 0) {                    JFileChooser fileChooser = new JFileChooser(applicationSettings.isoDiskImageDirectory());                    int returnVal = fileChooser.showSaveDialog(this);                    if(returnVal == JFileChooser.APPROVE_OPTION) {                        isoFileName = fileChooser.getSelectedFile().getAbsolutePath();                        String mkisofsCmdStr = mkisofs.writeImageCommandStrUsing(isoFileName, virtualFileSystemPanel.graftPoints(), virtualFileSystemPanel.excludedPaths());                        try {                            executeCommandLine(mkisofsCmdStr, new MKISOFSOutputAnalyzer(), true, false, true);                        } catch (IOException ie) {                            JOptionPane.showMessageDialog(this, "Error: Make sure mkisofs path is set correctly in preferences");                        }                    }                    else {                    }                }            }        }    }            private void blankCDActionPerformed(java.awt.event.ActionEvent evt) {        String cdrecordCmdStr = cdrecord.blankDiskCommandString("fast");        CDRECORDOutputAnalyzer outputAnalyzer = new CDRECORDOutputAnalyzer();        try {            executeCommandLine(cdrecordCmdStr, outputAnalyzer, true, false, true);        } catch (IOException ie) {            JOptionPane.showMessageDialog(this, "Error: Make sure cdrecord path is set correctly in preferences");        }    }        private void executeCommandLine(String cmd, OutputAnalyzer oAnalyzer, boolean autoStart, boolean autoClose, boolean waitForCompletion) throws IOException {        Semaphore s = null;        if (waitForCompletion) s = new Semaphore();        Process p = Runtime.getRuntime().exec(cmd);        ProcessMonitor pMonitor = new ProcessMonitor(p, oAnalyzer, s);        pMonitor.autoStart(autoStart);        pMonitor.autoClose(autoClose);        pMonitor.run();        s.waitForSignal();    }        private void recordFromISOImageActionPerformed(java.awt.event.ActionEvent evt) {        JFileChooser fileChooser = new JFileChooser(applicationSettings.isoDiskImageDirectory());        int returnVal = fileChooser.showDialog(this, "Select ISO image");        if(returnVal == JFileChooser.APPROVE_OPTION) {            CDRECORDOutputAnalyzer outputAnalyzer = new CDRECORDOutputAnalyzer();            outputAnalyzer.setExtractDevices(false);            isoFileName = fileChooser.getSelectedFile().getAbsolutePath();            String cdrecordCmdStr = cdrecord.writeCDFromImageCommandStrUsing(isoFileName);            try {                executeCommandLine(cdrecordCmdStr, outputAnalyzer, true, false, true);            } catch (IOException ie){                JOptionPane.showMessageDialog(this, "Error: Make sure cdrecord path is set correctly in preferences");            }        }        else {        }    }        private void recordDirectlyToDisk(java.awt.event.ActionEvent evt) {                if (virtualFileSystemPanel.isEmpty()) {            JOptionPane.showMessageDialog(null, "Nothing in disk layout.  Add some files and try again.", "No files in layout", JOptionPane.INFORMATION_MESSAGE);        }        else {            String creatorID = System.getProperty("user.name");            creatorID = JOptionPane.showInputDialog("Enter creator ID", creatorID);            if (creatorID != null && creatorID.length() != 0) {                String preparerID = JOptionPane.showInputDialog("Enter preparor ID", creatorID);                try {                    isoFileName = File.createTempFile("JCDW", ".iso").getAbsolutePath();                    if (preparerID != null && preparerID.length() != 0) {                                                String mkisofsCmdStr = mkisofs.writeImageCommandStrUsing(isoFileName, virtualFileSystemPanel.graftPoints(), virtualFileSystemPanel.excludedPaths());                        try {                            Log.writeln("JCDWriter:recordDirect", mkisofsCmdStr, 3);                            executeCommandLine(mkisofsCmdStr, new MKISOFSOutputAnalyzer(), true, true, true);                            CDRECORDOutputAnalyzer outputAnalyzer = new CDRECORDOutputAnalyzer();                            outputAnalyzer.setExtractDevices(false);                            String cdrecordCmdStr = cdrecord.writeCDFromImageCommandStrUsing(isoFileName);                            Log.writeln("JCDWriter:recordDirect", cdrecordCmdStr, 3);                            executeCommandLine(cdrecordCmdStr, outputAnalyzer, true, false, true);                        } catch (IOException ie){                            JOptionPane.showMessageDialog(this, "Error: Make sure mkisofs and cdrecord paths are set correctly in preferences");                        }                    }                } catch (IOException ie){                    System.out.println(ie);

⌨️ 快捷键说明

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