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

📄 cdrecordconfiguration.java

📁 将用户指定的数据保存成一个iso文件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package jcdwriter.model;import java.util.ArrayList;import java.util.Vector;import java.io.*;public class CDRECORDConfiguration implements java.io.Serializable {        private String      CDRECORDConfiguration = "cdrecord";    public boolean      force = false;    public boolean      dummy = false;    public boolean      dao = false;    public boolean      multi = false;    public boolean      msinfo = false;    public boolean      fix = false;    public boolean      nofix = true;    public boolean      waiti = false;    public boolean      load = false;    public boolean      eject = false;    public int          speed = 2;    public String       blank = "fast"; /* all fast track unreserve trtail unclose session */    public int          fs = -1;        /* -1 means not set */    public SCSIDevice   recorder = null;    public int          timeout=-1;     /* -1 means not set */    public String       driver;    public String       driveropts;    public boolean      ignsize = false;    public boolean      noclose = false;    public String       mcn;    public boolean      swab = false;    public boolean      data = true;    public boolean      mode2 = false;    public boolean      pad = false;    public boolean      overburn = false;    public Vector       recordingDevices;        private String      operation = "blank"; // "blank" or "record"    public int          progressValue = 30;    private String      commandLocation = "/usr/bin/cdrecord";    private String      trueAsString = "true";    private String      falseAsString = "false";        public String blankDiskCommandString(String eraseMethod) {            /* eraseMethod can be "fast", "disk", "all" as defined in cdrecord manpages.            If eraseMethod is not one of the recognized types, "fast" will be used. */                ArrayList validEraseTypes = new ArrayList();                validEraseTypes.add("all");                validEraseTypes.add("fast");                validEraseTypes.add("disk");                validEraseTypes.add("full");                                if(eraseMethod == null || !(validEraseTypes.contains(eraseMethod))) eraseMethod = "fast";                                if(isConfigured())                        return  cdrecordExecutable() + " dev=" + recorder.deviceString() + " blank=" + eraseMethod;                else                        return null;            }                public Vector allRecordingDevices() {                return recordingDevices;            }                public int numberOfRecordingDevices(){                if (recordingDevices == null){                        return 0;                    } else {                        return (recordingDevices.size());                    }            }                public String cdrecordExecutable() {                return (commandLocation);            }                public void cdrecordExecutable(String execString) {                commandLocation = execString;            }                public Object[] arguments() {                if(!isConfigured()) System.out.println("cdrecord not configured !");                Object[] args = {"-v", "-pad", "dev=", recorder.deviceString(), " -"};                return args;            }                public boolean isConfigured() {                return (recorder != null);            }                public SCSIDevice getRecorder() {                return recorder;            }                public void setSelectedDevice(SCSIDevice dev) {                recorder = dev;            }                public String writeCDFromImageCommandStrUsing(String isoFileName){                StringBuffer cmdStr = new StringBuffer();                cmdStr.append(commandLocation);                cmdStr.append(" -v ");                cmdStr.append("dev=");                if (recorder == null)                        cmdStr.append("0,1,0");                else                        cmdStr.append(recorder.deviceString());                cmdStr.append(' ');                cmdStr.append("speed=");                cmdStr.append("2");                cmdStr.append(' ');                if (dummy == true) cmdStr.append("--dummy ");                if (eject == true) cmdStr.append("--eject ");                //        cmdStr.append("--nofix ");                if (overburn == true) cmdStr.append("--overburn ");                if (isoFileName != null)            cmdStr.append(isoFileName);        else            cmdStr.append(" -");                System.out.println(cmdStr.toString());                return cmdStr.toString();            }                public String[] recordCommand(){                Vector cmdBits = new Vector();                if(false){                        cmdBits.add(cdrecordExecutable());                        cmdBits.add("dev=");                        //        cmdBits.add(selectedRecorder.deviceParamString());                    }                else {                        cmdBits.add("ping");                        cmdBits.add("-n");                        cmdBits.add("5");                        cmdBits.add("localhost");                    }                String[] cmd = new String[cmdBits.size()];                for (int i = 0; i < cmd.length; i++) {                        cmd[i] = (String)cmdBits.get(i);                    }                return (cmd);            }                public String[] scanbusCommand(){                Vector cmdBits = new Vector();/*	if (System.getProperty("os.name").indexOf("Windows") < 0)             cmdBits.add("sh"); */        cmdBits.add(cdrecordExecutable());        cmdBits.add(" --scanbus");        String[] cmd = new String[cmdBits.size()];                for (int i = 0; i < cmd.length; i++) {            System.out.println(cmdBits.get(i));            cmd[i] = (String)cmdBits.get(i);        }        return (cmd);            }            public String scanbusCommandString(){        if (System.getProperty("os.name").indexOf("Windows") < 0)            return (cdrecordExecutable() + " -scanbus");        else            return (cdrecordExecutable() + " -scanbus");    }            public String[] scanbusCommandArray(){        String[] cmd = new String[2];        cmd[0] = cdrecordExecutable();        cmd[1] = "--scanbus";        return cmd;    }        public CDRECORDConfiguration copyFrom(CDRECORDConfiguration config) {                force = config.force;                dummy = config.dummy;                dao = config.dao;                multi = config.multi;                msinfo = config.msinfo;                fix = config.fix;                nofix = config.nofix;                waiti = config.waiti;                load = config.load;                eject = config.eject;                speed = config.speed;                blank = config.blank;                fs = config.fs;                recorder = config.recorder;                timeout=config.timeout;                driver = config.driver;                driveropts = config.driveropts;                ignsize = config.ignsize;                noclose = config.noclose;                mcn = config.mcn;                swab = config.swab;                data = config.data;                mode2 = config.mode2;                pad = config.pad;                recordingDevices = config.recordingDevices;                commandLocation = config.commandLocation;                return this;            }                public Vector scanbus(){                int exitVal = -1;        java.io.InputStream processOutputStream, processErrorStream;        String[] command = scanbusCommand();        String    commandString = null;        CDRECORDOutputAnalyzer outputAnalyzer = new CDRECORDOutputAnalyzer();                if (command == null && (commandString == null)) return null;                Runtime runtime = Runtime.getRuntime();        final StringBuffer sb = new StringBuffer();        try {            final Process p = runtime.exec(command);                        InputStream is = p.getInputStream();            InputStream err = p.getInputStream();            new Thread(new Runnable() {                public void run() {                    try {                        BufferedReader in  = new BufferedReader(new InputStreamReader(p.getInputStream()),5000);                        String a = "";                        while (( a = in.readLine()) != null) {                            sb.append(a);                            System.out.println(a);                            //try{Thread.sleep(1);}catch(InterruptedException ie) {System.out.println(ie);}

⌨️ 快捷键说明

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