List of usage examples for java.io File getParentFile
public File getParentFile()
null
if this pathname does not name a parent directory. From source file:ee.ria.xroad.asyncdb.AsyncDBIntegrationTest.java
/** * * * @param args//w w w . j a v a2s . co m * - use 'preservedb' to retain directory structure for further * investigation * @throws Exception - when running integration test fails. */ public static void main(String[] args) throws Exception { File provider = new File(AsyncDBTestUtil.getProviderDirPath()); File logFile = new File(AsyncDBTestUtil.getAsyncLogFilePath()); if (provider.exists() || logFile.exists()) { throw new IntegrationTestFailedException( "Directory '" + AsyncDBTestUtil.DB_FILEPATH + "' and file '" + AsyncDBTestUtil.LOG_FILEPATH + "' must not be present in the beginning of integration test, delete it!"); } File logDir = logFile.getParentFile(); logDir.mkdirs(); boolean preserveDB = false; if (args.length > 0) { preserveDB = "preservedb".equalsIgnoreCase(args[0]); LOG.warn("Preserving DB file tree after test, be sure to remove them later by yourself!"); } long freeFileDescriptorsAtBeginning = SystemMetrics.getFreeFileDescriptorCount(); try { addRequestToNonExistentProvider(); addRequestToExistentProvider(); markSecondRequestAsRemoved(); restoreSecondRequest(); getAllMessageQueues(); sendFirstRequestSuccessfully(); sendSecondRequestUnsuccessfully(); resetSendCountOfSecondRequest(); skipNotSendingRequest(); revertWritingFailure(); // Test cases from real life removeCorruptRequestAndSendNext(); } finally { validateFileDescriptors(freeFileDescriptorsAtBeginning); if (!preserveDB) { FileUtils.deleteDirectory(new File(AsyncDBTestUtil.getProviderDirPath())); FileUtils.deleteDirectory(logDir); } } LOG.info("Integration test of ASYNC-DB accomplished successfully."); }
From source file:acmi.l2.clientmod.l2_version_switcher.Main.java
public static void main(String[] args) { if (args.length != 3 && args.length != 4) { System.out.println("USAGE: l2_version_switcher.jar host game version <--splash> <filter>"); System.out.println("EXAMPLE: l2_version_switcher.jar " + L2.NCWEST_HOST + " " + L2.NCWEST_GAME + " 1 \"system\\*\""); System.out.println(//from w ww . j av a2 s . c o m " l2_version_switcher.jar " + L2.PLAYNC_TEST_HOST + " " + L2.PLAYNC_TEST_GAME + " 48"); System.exit(0); } List<String> argsList = new ArrayList<>(Arrays.asList(args)); String host = argsList.get(0); String game = argsList.get(1); int version = Integer.parseInt(argsList.get(2)); Helper helper = new Helper(host, game, version); boolean available = false; try { available = helper.isAvailable(); } catch (IOException e) { System.err.print(e.getClass().getSimpleName()); if (e.getMessage() != null) { System.err.print(": " + e.getMessage()); } System.err.println(); } System.out.println(String.format("Version %d available: %b", version, available)); if (!available) { System.exit(0); } List<FileInfo> fileInfoList = null; try { fileInfoList = helper.getFileInfoList(); } catch (IOException e) { System.err.println("Couldn\'t get file info map"); System.exit(1); } boolean splash = argsList.remove("--splash"); if (splash) { Optional<FileInfo> splashObj = fileInfoList.stream() .filter(fi -> fi.getPath().contains("sp_32b_01.bmp")).findAny(); if (splashObj.isPresent()) { try (InputStream is = new FilterInputStream( Util.getUnzipStream(helper.getDownloadStream(splashObj.get().getPath()))) { @Override public int read() throws IOException { int b = super.read(); if (b >= 0) b ^= 0x36; return b; } @Override public int read(byte[] b, int off, int len) throws IOException { int r = super.read(b, off, len); if (r >= 0) { for (int i = 0; i < r; i++) b[off + i] ^= 0x36; } return r; } }) { new DataInputStream(is).readFully(new byte[28]); BufferedImage bi = ImageIO.read(is); JFrame frame = new JFrame("Lineage 2 [" + version + "] " + splashObj.get().getPath()); frame.setContentPane(new JComponent() { { setPreferredSize(new Dimension(bi.getWidth(), bi.getHeight())); } @Override protected void paintComponent(Graphics g) { g.drawImage(bi, 0, 0, null); } }); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); } catch (IOException e) { e.printStackTrace(); } } else { System.out.println("Splash not found"); } return; } String filter = argsList.size() > 3 ? separatorsToSystem(argsList.get(3)) : null; File l2Folder = new File(System.getProperty("user.dir")); List<FileInfo> toUpdate = fileInfoList.parallelStream().filter(fi -> { String filePath = separatorsToSystem(fi.getPath()); if (filter != null && !wildcardMatch(filePath, filter, IOCase.INSENSITIVE)) return false; File file = new File(l2Folder, filePath); try { if (file.exists() && file.length() == fi.getSize() && Util.hashEquals(file, fi.getHash())) { System.out.println(filePath + ": OK"); return false; } } catch (IOException e) { System.out.println(filePath + ": couldn't check hash: " + e); return true; } System.out.println(filePath + ": need update"); return true; }).collect(Collectors.toList()); List<String> errors = Collections.synchronizedList(new ArrayList<>()); ExecutorService executor = Executors.newFixedThreadPool(16); CompletableFuture[] tasks = toUpdate.stream().map(fi -> CompletableFuture.runAsync(() -> { String filePath = separatorsToSystem(fi.getPath()); File file = new File(l2Folder, filePath); File folder = file.getParentFile(); if (!folder.exists()) { if (!folder.mkdirs()) { errors.add(filePath + ": couldn't create parent dir"); return; } } try (InputStream input = Util .getUnzipStream(new BufferedInputStream(helper.getDownloadStream(fi.getPath()))); OutputStream output = new BufferedOutputStream(new FileOutputStream(file))) { byte[] buffer = new byte[Math.min(fi.getSize(), 1 << 24)]; int pos = 0; int r; while ((r = input.read(buffer, pos, buffer.length - pos)) >= 0) { pos += r; if (pos == buffer.length) { output.write(buffer, 0, pos); pos = 0; } } if (pos != 0) { output.write(buffer, 0, pos); } System.out.println(filePath + ": OK"); } catch (IOException e) { String msg = filePath + ": FAIL: " + e.getClass().getSimpleName(); if (e.getMessage() != null) { msg += ": " + e.getMessage(); } errors.add(msg); } }, executor)).toArray(CompletableFuture[]::new); CompletableFuture.allOf(tasks).thenRun(() -> { for (String err : errors) System.err.println(err); executor.shutdown(); }); }
From source file:edu.msu.cme.rdp.readseq.utils.SequenceTrimmer.java
public static void main(String[] args) throws IOException { Options options = new Options(); options.addOption("r", "ref-seq", true, "Trim points are given as positions in a reference sequence from this file"); options.addOption("i", "inclusive", false, "Trim points are inclusive"); options.addOption("l", "length", true, "Minimum length of sequence after trimming"); options.addOption("f", "filled-ratio", true, "Minimum ratio of filled model positions of sequence after trimming"); options.addOption("o", "out", true, "Write sequences to directory (default=cwd)"); options.addOption("s", "stats", true, "Write stats to file"); PrintWriter statsOut = new PrintWriter(new NullWriter()); boolean inclusive = false; int minLength = 0; int minTrimmedLength = 0; int maxNs = 0; int maxTrimNs = 0; int trimStart = 0; int trimStop = 0; Sequence refSeq = null;//from w w w . j a v a 2 s .com float minFilledRatio = 0; int expectedModelPos = -1; String[] inputFiles = null; File outdir = new File("."); try { CommandLine line = new PosixParser().parse(options, args); if (line.hasOption("ref-seq")) { refSeq = readRefSeq(new File(line.getOptionValue("ref-seq"))); } if (line.hasOption("inclusive")) { inclusive = true; } if (line.hasOption("length")) { minLength = Integer.valueOf(line.getOptionValue("length")); } if (line.hasOption("filled-ratio")) { minFilledRatio = Float.valueOf(line.getOptionValue("filled-ratio")); } if (line.hasOption("out")) { outdir = new File(line.getOptionValue("out")); if (!outdir.isDirectory()) { outdir = outdir.getParentFile(); System.err.println("Output option is not a directory, using " + outdir + " instead"); } } if (line.hasOption("stats")) { statsOut = new PrintWriter(line.getOptionValue("stats")); } args = line.getArgs(); if (args.length < 3) { throw new Exception("Unexpected number of arguments"); } trimStart = Integer.parseInt(args[0]); trimStop = Integer.parseInt(args[1]); inputFiles = Arrays.copyOfRange(args, 2, args.length); if (refSeq != null) { expectedModelPos = SeqUtils.getMaskedBySeqString(refSeq.getSeqString()).length(); trimStart = translateCoord(trimStart, refSeq, CoordType.seq, CoordType.model); trimStop = translateCoord(trimStop, refSeq, CoordType.seq, CoordType.model); } } catch (Exception e) { new HelpFormatter().printHelp("SequenceTrimmer <trim start> <trim stop> <aligned file> ...", options); System.err.println("Error: " + e.getMessage()); } System.err.println("Starting sequence trimmer"); System.err.println("* Input files: " + Arrays.asList(inputFiles)); System.err.println("* Minimum Length: " + minLength); System.err.println("* Trim point inclusive?: " + inclusive); System.err.println("* Trim points: " + trimStart + "-" + trimStop); System.err.println("* Min filled ratio: " + minFilledRatio); System.err.println("* refSeq: " + ((refSeq == null) ? "model" : refSeq.getSeqName() + " " + refSeq.getDesc())); Sequence seq; SeqReader reader; TrimStats stats; writeStatsHeader(statsOut); FastaWriter seqWriter; File in; for (String infile : inputFiles) { in = new File(infile); reader = new SequenceReader(in); seqWriter = new FastaWriter(new File(outdir, "trimmed_" + in.getName())); while ((seq = reader.readNextSequence()) != null) { if (seq.getSeqName().startsWith("#")) { seqWriter.writeSeq(seq.getSeqName(), "", trimMetaSeq(seq.getSeqString(), trimStart, trimStop)); continue; } stats = getStats(seq, trimStart, trimStop); boolean passed = didSeqPass(stats, minLength, minTrimmedLength, maxNs, maxTrimNs, minFilledRatio); writeStats(statsOut, seq.getSeqName(), stats, passed); if (passed) { seqWriter.writeSeq(seq.getSeqName(), seq.getDesc(), new String(stats.trimmedBases)); } } reader.close(); seqWriter.close(); } statsOut.close(); }
From source file:at.newmedialab.ldpath.template.LDTemplate.java
public static void main(String[] args) { Options options = buildOptions();//from w ww.j a v a 2s .c o m CommandLineParser parser = new PosixParser(); try { CommandLine cmd = parser.parse(options, args); Level logLevel = Level.WARN; if (cmd.hasOption("loglevel")) { String logLevelName = cmd.getOptionValue("loglevel"); if ("DEBUG".equals(logLevelName.toUpperCase())) { logLevel = Level.DEBUG; } else if ("INFO".equals(logLevelName.toUpperCase())) { logLevel = Level.INFO; } else if ("WARN".equals(logLevelName.toUpperCase())) { logLevel = Level.WARN; } else if ("ERROR".equals(logLevelName.toUpperCase())) { logLevel = Level.ERROR; } else { log.error("unsupported log level: {}", logLevelName); } } if (logLevel != null) { for (String logname : new String[] { "at", "org", "net", "com" }) { ch.qos.logback.classic.Logger logger = (ch.qos.logback.classic.Logger) LoggerFactory .getLogger(logname); logger.setLevel(logLevel); } } File template = null; if (cmd.hasOption("template")) { template = new File(cmd.getOptionValue("template")); } GenericSesameBackend backend; if (cmd.hasOption("store")) { backend = new LDPersistentBackend(new File(cmd.getOptionValue("store"))); } else { backend = new LDMemoryBackend(); } Resource context = null; if (cmd.hasOption("context")) { context = backend.getRepository().getValueFactory().createURI(cmd.getOptionValue("context")); } BufferedWriter out = null; if (cmd.hasOption("out")) { File of = new File(cmd.getOptionValue("out")); if (of.canWrite()) { out = new BufferedWriter(new FileWriter(of)); } else { log.error("cannot write to output file {}", of); System.exit(1); } } else { out = new BufferedWriter(new OutputStreamWriter(System.out)); } if (backend != null && context != null && template != null) { TemplateEngine<Value> engine = new TemplateEngine<Value>(backend); engine.setDirectoryForTemplateLoading(template.getParentFile()); engine.processFileTemplate(context, template.getName(), out); out.flush(); out.close(); } if (backend instanceof LDPersistentBackend) { ((LDPersistentBackend) backend).shutdown(); } } catch (ParseException e) { System.err.println("invalid arguments"); HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("LDQuery", options, true); } catch (FileNotFoundException e) { System.err.println("file or program could not be found"); HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("LDQuery", options, true); } catch (IOException e) { System.err.println("could not access file"); e.printStackTrace(System.err); } catch (TemplateException e) { System.err.println("error while processing template"); e.printStackTrace(System.err); } }
From source file:edu.oregonstate.eecs.mcplan.abstraction.PairDataset.java
/** * @param args/* w ww .j a va 2s.c o m*/ */ public static void main(final String[] args) { int idx = 0; final String single_filename = args[idx++]; System.out.println("single_filename = " + single_filename); final String keyword = args[idx++]; System.out.println("keyword = " + keyword); final int seed = Integer.parseInt(args[idx++]); System.out.println("seed = " + seed); final int max_pairwise_instances = Integer.parseInt(args[idx++]); System.out.println("max_pairwise_instances = " + max_pairwise_instances); final File single_file = new File(single_filename); System.out.println("Opening '" + single_file.getAbsolutePath() + "'"); assert (single_file.exists()); final Instances single = WekaUtil.readLabeledDataset(single_file); final ArrayList<Attribute> single_attributes = WekaUtil.extractAttributes(single); final InstanceCombiner combiner; if ("difference".equals(keyword)) { combiner = new DifferenceFeatures(single_attributes); } else if ("symmetric".equals(keyword)) { combiner = new SymmetricFeatures(single_attributes); } else { throw new IllegalArgumentException("Unknown keyword '" + keyword + "'"); } // final String pair_name = FilenameUtils.getBaseName( single_filename ) // + "_" + keyword + "_" + max_pairwise_instances; final RandomGenerator rng = new MersenneTwister(seed); System.out.println("Making dataset..."); final Instances pair_instances = makePairDataset(rng, max_pairwise_instances, single, combiner); System.out.println("Writing dataset..."); WekaUtil.writeDataset(single_file.getParentFile(), pair_instances); }
From source file:com.zarkonnen.longan.Main.java
public static void main(String[] args) throws IOException { // Use Apache Commons CLI (packaged into the Jar) to parse command line options. Options options = new Options(); Option helpO = OptionBuilder.withDescription("print help").create("h"); Option versionO = OptionBuilder.withDescription("print version").create("v"); Option outputO = OptionBuilder.withDescription("output file").withLongOpt("out").hasArg() .withArgName("file").create("o"); Option formatO = OptionBuilder .withDescription("output format: one of plaintext (default) and visualize (debug output in png)") .hasArg().withArgName("format").withLongOpt("format").create(); Option serverO = OptionBuilder.withDescription("launches server mode: Server mode reads " + "command line strings one per line exactly as above. If no output file is " + "specified, returns a line containing the number of output lines before the " + "output. If there is an error, returns a single line with the error message. " + "Shut down server by sending \"quit\".").withLongOpt("server").create(); Option openCLO = OptionBuilder .withDescription(/* ww w. j a v a 2 s .co m*/ "enables use of the graphics card to " + "support the OCR system. Defaults to true.") .withLongOpt("enable-opencl").hasArg().withArgName("enabled").create(); options.addOption(helpO); options.addOption(versionO); options.addOption(outputO); options.addOption(formatO); options.addOption(serverO); options.addOption(openCLO); CommandLineParser clp = new GnuParser(); try { CommandLine line = clp.parse(options, args); if (line.hasOption("h")) { new HelpFormatter().printHelp(INVOCATION, options); System.exit(0); } if (line.hasOption("v")) { System.out.println(Longan.VERSION); System.exit(0); } boolean enableOpenCL = true; if (line.hasOption("enable-opencl")) { enableOpenCL = line.getOptionValue("enable-opencl").toLowerCase().equals("true") || line.getOptionValue("enable-opencl").equals("1"); } if (line.hasOption("server")) { Longan longan = Longan.getDefaultImplementation(enableOpenCL); BufferedReader inputR = new BufferedReader(new InputStreamReader(System.in)); while (true) { String input = inputR.readLine(); if (input.trim().equals("quit")) { return; } String[] args2 = splitInput(input); Options o2 = new Options(); o2.addOption(outputO); o2.addOption(formatO); try { line = clp.parse(o2, args2); File outFile = null; if (line.hasOption("o")) { outFile = new File(line.getOptionValue("o")); } ResultConverter format = FORMATS.get(line.getOptionValue("format", "plaintext")); if (format != DEFAULT_FORMAT && outFile == null) { System.out.println("You must specify an output file for non-plaintext output."); continue; } if (line.getArgList().isEmpty()) { System.out.println("Please specify an input image."); continue; } if (line.getArgList().size() > 1) { System.err.println("Please specify one input image at a time"); continue; } File inFile = new File((String) line.getArgList().get(0)); if (!inFile.exists()) { System.out.println("The input image does not exist."); continue; } try { Result result = longan.process(ImageIO.read(inFile)); if (outFile == null) { String txt = DEFAULT_FORMAT.convert(result); System.out.println(numNewlines(txt) + 1); System.out.print(txt); } else { if (outFile.getAbsoluteFile().getParentFile() != null && !outFile.getAbsoluteFile().getParentFile().exists()) { outFile.getParentFile().mkdirs(); } FileOutputStream fos = new FileOutputStream(outFile); try { format.write(result, fos); } finally { fos.close(); } } } catch (Exception e) { System.out.println("Processing error: " + exception(e)); } } catch (ParseException e) { System.out.println("Input not recognized: " + exception(e)); } } // End server loop } else { // Single invocation File outFile = null; if (line.hasOption("o")) { outFile = new File(line.getOptionValue("o")); } ResultConverter format = FORMATS.get(line.getOptionValue("format", "plaintext")); if (format != DEFAULT_FORMAT && outFile == null) { System.err.println("You must specify an output file for non-plaintext output."); System.exit(1); } if (line.getArgList().isEmpty()) { System.err.println("Please specify an input image."); new HelpFormatter().printHelp(INVOCATION, options); System.exit(1); } if (line.getArgList().size() > 1) { System.err.println("Please specify one input image only. To process multiple " + "images, use server mode."); System.exit(1); } File inFile = new File((String) line.getArgList().get(0)); if (!inFile.exists()) { System.err.println("The input image does not exist."); System.exit(1); } try { Result result = Longan.getDefaultImplementation(enableOpenCL).process(ImageIO.read(inFile)); if (outFile == null) { String txt = DEFAULT_FORMAT.convert(result); System.out.print(txt); } else { if (outFile.getAbsoluteFile().getParentFile() != null && !outFile.getAbsoluteFile().getParentFile().exists()) { outFile.getParentFile().mkdirs(); } FileOutputStream fos = new FileOutputStream(outFile); try { format.write(format.convert(result), fos); } finally { fos.close(); } } } catch (Exception e) { System.err.println("Processing error: " + exception(e)); System.exit(1); } } } catch (ParseException e) { System.err.println("Parsing command line input failed: " + exception(e)); System.exit(1); } }
From source file:edu.msu.cme.rdp.multicompare.Main.java
public static void main(String[] args) throws Exception { PrintStream hier_out = null;//from www. ja v a 2s .c om PrintWriter assign_out = new PrintWriter(new NullWriter()); PrintStream bootstrap_out = null; File hier_out_filename = null; String propFile = null; File biomFile = null; File metadataFile = null; PrintWriter shortseq_out = null; List<MCSample> samples = new ArrayList(); ClassificationResultFormatter.FORMAT format = ClassificationResultFormatter.FORMAT.allRank; float conf = CmdOptions.DEFAULT_CONF; String gene = null; int min_bootstrap_words = Classifier.MIN_BOOTSTRSP_WORDS; try { CommandLine line = new PosixParser().parse(options, args); if (line.hasOption(CmdOptions.OUTFILE_SHORT_OPT)) { assign_out = new PrintWriter(line.getOptionValue(CmdOptions.OUTFILE_SHORT_OPT)); } else { throw new IllegalArgumentException("Require the output file for classification assignment"); } if (line.hasOption(CmdOptions.HIER_OUTFILE_SHORT_OPT)) { hier_out_filename = new File(line.getOptionValue(CmdOptions.HIER_OUTFILE_SHORT_OPT)); hier_out = new PrintStream(hier_out_filename); } if (line.hasOption(CmdOptions.BIOMFILE_SHORT_OPT)) { biomFile = new File(line.getOptionValue(CmdOptions.BIOMFILE_SHORT_OPT)); } if (line.hasOption(CmdOptions.METADATA_SHORT_OPT)) { metadataFile = new File(line.getOptionValue(CmdOptions.METADATA_SHORT_OPT)); } if (line.hasOption(CmdOptions.TRAINPROPFILE_SHORT_OPT)) { if (gene != null) { throw new IllegalArgumentException( "Already specified the gene from the default location. Can not specify train_propfile"); } else { propFile = line.getOptionValue(CmdOptions.TRAINPROPFILE_SHORT_OPT); } } if (line.hasOption(CmdOptions.FORMAT_SHORT_OPT)) { String f = line.getOptionValue(CmdOptions.FORMAT_SHORT_OPT); if (f.equalsIgnoreCase("allrank")) { format = ClassificationResultFormatter.FORMAT.allRank; } else if (f.equalsIgnoreCase("fixrank")) { format = ClassificationResultFormatter.FORMAT.fixRank; } else if (f.equalsIgnoreCase("filterbyconf")) { format = ClassificationResultFormatter.FORMAT.filterbyconf; } else if (f.equalsIgnoreCase("db")) { format = ClassificationResultFormatter.FORMAT.dbformat; } else if (f.equalsIgnoreCase("biom")) { format = ClassificationResultFormatter.FORMAT.biom; } else { throw new IllegalArgumentException( "Not an valid output format, only allrank, fixrank, biom, filterbyconf and db allowed"); } } if (line.hasOption(CmdOptions.GENE_SHORT_OPT)) { if (propFile != null) { throw new IllegalArgumentException( "Already specified train_propfile. Can not specify gene any more"); } gene = line.getOptionValue(CmdOptions.GENE_SHORT_OPT).toLowerCase(); if (!gene.equals(ClassifierFactory.RRNA_16S_GENE) && !gene.equals(ClassifierFactory.FUNGALLSU_GENE) && !gene.equals(ClassifierFactory.FUNGALITS_warcup_GENE) && !gene.equals(ClassifierFactory.FUNGALITS_unite_GENE)) { throw new IllegalArgumentException(gene + " not found, choose from" + ClassifierFactory.RRNA_16S_GENE + ", " + ClassifierFactory.FUNGALLSU_GENE + ", " + ClassifierFactory.FUNGALITS_warcup_GENE + ", " + ClassifierFactory.FUNGALITS_unite_GENE); } } if (line.hasOption(CmdOptions.MIN_BOOTSTRAP_WORDS_SHORT_OPT)) { min_bootstrap_words = Integer .parseInt(line.getOptionValue(CmdOptions.MIN_BOOTSTRAP_WORDS_SHORT_OPT)); if (min_bootstrap_words < Classifier.MIN_BOOTSTRSP_WORDS) { throw new IllegalArgumentException(CmdOptions.MIN_BOOTSTRAP_WORDS_LONG_OPT + " must be at least " + Classifier.MIN_BOOTSTRSP_WORDS); } } if (line.hasOption(CmdOptions.BOOTSTRAP_SHORT_OPT)) { String confString = line.getOptionValue(CmdOptions.BOOTSTRAP_SHORT_OPT); try { conf = Float.valueOf(confString); } catch (NumberFormatException e) { throw new IllegalArgumentException("Confidence must be a decimal number"); } if (conf < 0 || conf > 1) { throw new IllegalArgumentException("Confidence must be in the range [0,1]"); } } if (line.hasOption(CmdOptions.SHORTSEQ_OUTFILE_SHORT_OPT)) { shortseq_out = new PrintWriter(line.getOptionValue(CmdOptions.SHORTSEQ_OUTFILE_SHORT_OPT)); } if (line.hasOption(CmdOptions.BOOTSTRAP_OUTFILE_SHORT_OPT)) { bootstrap_out = new PrintStream(line.getOptionValue(CmdOptions.BOOTSTRAP_OUTFILE_SHORT_OPT)); } if (format.equals(ClassificationResultFormatter.FORMAT.biom) && biomFile == null) { throw new IllegalArgumentException("biom format requires an input biom file"); } if (biomFile != null) { // if input biom file provided, use biom format format = ClassificationResultFormatter.FORMAT.biom; } args = line.getArgs(); for (String arg : args) { String[] inFileNames = arg.split(","); File inputFile = new File(inFileNames[0]); File idmappingFile = null; if (!inputFile.exists()) { throw new IllegalArgumentException("Failed to find input file \"" + inFileNames[0] + "\""); } if (inFileNames.length == 2) { idmappingFile = new File(inFileNames[1]); if (!idmappingFile.exists()) { throw new IllegalArgumentException("Failed to find input file \"" + inFileNames[1] + "\""); } } MCSample nextSample = new MCSample(inputFile, idmappingFile); samples.add(nextSample); } if (propFile == null && gene == null) { gene = CmdOptions.DEFAULT_GENE; } if (samples.size() < 1) { throw new IllegalArgumentException("Require at least one sample files"); } } catch (Exception e) { System.out.println("Command Error: " + e.getMessage()); new HelpFormatter().printHelp(80, " [options] <samplefile>[,idmappingfile] ...", "", options, ""); return; } MultiClassifier multiClassifier = new MultiClassifier(propFile, gene, biomFile, metadataFile); MultiClassifierResult result = multiClassifier.multiCompare(samples, conf, assign_out, format, min_bootstrap_words); assign_out.close(); if (hier_out != null) { DefaultPrintVisitor printVisitor = new DefaultPrintVisitor(hier_out, samples); result.getRoot().topDownVisit(printVisitor); hier_out.close(); if (multiClassifier.hasCopyNumber()) { // print copy number corrected counts File cn_corrected_s = new File(hier_out_filename.getParentFile(), "cnadjusted_" + hier_out_filename.getName()); PrintStream cn_corrected_hier_out = new PrintStream(cn_corrected_s); printVisitor = new DefaultPrintVisitor(cn_corrected_hier_out, samples, true); result.getRoot().topDownVisit(printVisitor); cn_corrected_hier_out.close(); } } if (bootstrap_out != null) { for (MCSample sample : samples) { MCSamplePrintUtil.printBootstrapCountTable(bootstrap_out, sample); } bootstrap_out.close(); } if (shortseq_out != null) { for (String id : result.getBadSequences()) { shortseq_out.write(id + "\n"); } shortseq_out.close(); } }
From source file:Main.java
public static void makeDir(File dir) { if (!dir.getParentFile().exists()) { makeDir(dir.getParentFile());//ww w .j a v a2 s .c o m } dir.mkdir(); }
From source file:Main.java
static void createParentDirs(File file) { File dir = file.getParentFile(); if (dir != null && !dir.exists() && !dir.mkdirs()) throw new IllegalStateException("Couldnt create " + dir); }
From source file:Main.java
public static void mkFile(String filePath, boolean mkdir) throws Exception { File file = new File(filePath); file.getParentFile().mkdirs(); file.createNewFile();//ww w .j av a 2 s . co m file = null; }