Example usage for com.google.common.io Files write

List of usage examples for com.google.common.io Files write

Introduction

In this page you can find the example usage for com.google.common.io Files write.

Prototype

public static void write(CharSequence from, File to, Charset charset) throws IOException 

Source Link

Usage

From source file:com.android.build.gradle.tasks.CheckManifestInInstantRunMode.java

@VisibleForTesting
static void runManifestBinaryChangeVerifier(InstantRunBuildContext instantRunBuildContext,
        File instantRunSupportDir, @NonNull File resOutBaseNameFile) throws IOException {
    // get the new manifest file CRC
    String currentIterationCRC = null;
    try (JarFile jarFile = new JarFile(resOutBaseNameFile)) {
        ZipEntry entry = jarFile.getEntry(SdkConstants.ANDROID_MANIFEST_XML);
        if (entry != null) {
            currentIterationCRC = String.valueOf(entry.getCrc());
        }//from www .ja  v  a  2s  . co m
    }

    File crcFile = new File(instantRunSupportDir, "manifest.crc");
    // check the manifest file binary format.
    if (crcFile.exists() && currentIterationCRC != null) {
        // compare its content with the new binary file crc.
        String previousIterationCRC = Files.readFirstLine(crcFile, Charsets.UTF_8);
        if (!currentIterationCRC.equals(previousIterationCRC)) {
            instantRunBuildContext.setVerifierResult(InstantRunVerifierStatus.BINARY_MANIFEST_FILE_CHANGE);
        }
    } else {
        // we don't have a back up of the crc file, better be safe and force the APK build.
        instantRunBuildContext.setVerifierResult(InstantRunVerifierStatus.INITIAL_BUILD);
    }

    if (currentIterationCRC != null) {
        // write the new manifest file CRC.
        Files.createParentDirs(crcFile);
        Files.write(currentIterationCRC, crcFile, Charsets.UTF_8);
    }
}

From source file:scoutdoc.main.converter.ScoutDocConverter.java

public void execute(Task t) throws IOException {
    Preconditions.checkArgument(t.getInputPages().size() > 0, "InputPages needs to contain at least one page");

    MediaWikiLanguageExt markupLanguage = new MediaWikiLanguageExt();

    markupLanguage.getTemplateProviders().add(new IgnoreTemplateProvider("ScoutPage")); //Could also use: markupLanguage.setTemplateExcludes("ScoutPage")
    markupLanguage.getTemplateProviders().add(new PagesTemplateProvider());
    markupLanguage.setInternalLinkPattern(ProjectProperties.getWikiServerInternalLinkPattern());

    MarkupParser markupParser = new MarkupParser();
    markupParser.setMarkupLanguage(markupLanguage);

    List<ConversionItem> items = new ArrayList<ConversionItem>();
    ConversionItem firstItem = new ConversionItem();
    firstItem.inputPage = Pages.normalize(t.getInputPages().get(0));
    firstItem.outputFileName = "index.html";
    firstItem.outputTitle = t.getOutputTitle();
    firstItem.includeToc = t.getInputPages().size() > 1;
    firstItem.firstLevel = true;//from   w  ww.j a  v a 2  s . c o m
    items.add(firstItem);

    for (int i = 1; i < t.getInputPages().size(); i++) {
        Page p = Pages.normalize(t.getInputPages().get(i));
        ConversionItem item = new ConversionItem();
        item.inputPage = p;
        item.outputFileName = String.format("%02d", i) + "_" + PageUtility.toBasePageNamee(p).toLowerCase()
                + ".html";
        item.outputTitle = PageUtility.toBasePageName(p);
        item.includeToc = true;
        item.firstLevel = false;
        items.add(item);
    }

    markupLanguage.setPageMapping(new PageMapper(items));

    OutlineParser outlineParser = new OutlineParser();
    outlineParser.setMarkupLanguage(markupLanguage);

    OutlineItem rootItem = outlineParser.createRootItem();
    OutlineItem firstLevel = rootItem;

    for (int j = 0; j < items.size(); j++) {
        ConversionItem item = items.get(j);

        System.out.println("============");
        System.out.println("Page: " + item.inputPage.getName());
        System.out.println("outputFileName: " + item.outputFileName);

        item.inputContent = Files.toString(new File(PageUtility.toFilePath(item.inputPage)), CHARSET);

        item.outputFile = new File(ProjectProperties.getFolderWikiDist() + ProjectProperties.getFileSeparator()
                + t.getOutputFolder() + ProjectProperties.getFileSeparator() + item.outputFileName);
        Files.createParentDirs(item.outputFile);
        System.out.println("outputFile: " + item.outputFile);

        File apiFile = PageUtility.toApiFile(item.inputPage);
        Collection<Page> images = ApiFileUtility.parseImages(apiFile);

        StringWriter out = new StringWriter();
        HtmlDocumentBuilderExt htmlDocumentBuilder = new HtmlDocumentBuilderExt(out);
        htmlDocumentBuilder.setPrependImagePrefix(ProjectProperties.getRelPathNavImagesDist());
        htmlDocumentBuilder.setDefaultAbsoluteLinkTarget("doc_external");
        htmlDocumentBuilder.setItems(items);
        htmlDocumentBuilder.setCurrentItemIndex(j);

        markupParser.setBuilder(htmlDocumentBuilder);

        markupLanguage.setPageName(item.inputPage.getName());
        Set<String> imageNames = new HashSet<String>();
        for (Page image : images) {
            imageNames.add(PageUtility.toPageNamee(image));
        }
        markupLanguage.setImageNames(imageNames);

        markupParser.parse(item.inputContent);

        String htmlContent = out.toString();
        Files.write(htmlContent, item.outputFile, CHARSET);

        if (item.includeToc) {
            item.outlineItem = computeOutline(outlineParser, item);
            if (item.firstLevel) {
                rootItem.getChildren().add(item.outlineItem);
                firstLevel = item.outlineItem;
            } else {
                firstLevel.getChildren().add(item.outlineItem);
            }
        } else {
            item.outlineItem = new OutlineItem(rootItem, 1, "id", 1, 1, item.outputTitle);
            item.outlineItem.setResourcePath(item.outputFile.getAbsolutePath());
            if (item.firstLevel) {
                firstLevel = item.outlineItem;
            }
        }

        File toFolder = computeImagesFolder(t);
        for (Page image : images) {
            File imageFile = PageUtility.toImageFile(image);
            if (imageFile.exists()) {
                Files.copy(imageFile, new File(toFolder, PageUtility.convertToInternalName(image.getName())));
            } else {
                System.err.println("Requested imageFile does not exist. Page: " + image.toString());
            }

        }
    }

    MarkupToEclipseToc eclipseToc = new MarkupToEclipseToc() {
        @Override
        protected String computeFile(OutlineItem item) {
            if (item != null && item.getResourcePath() != null) {
                return tail(item.getResourcePath(), ProjectProperties.getFileSeparator());
            }
            return super.computeFile(item);
        }
    };
    eclipseToc.setBookTitle(t.getOutputTitle());
    eclipseToc.setHelpPrefix(CharMatcher.anyOf(String.valueOf(ProjectProperties.getFileSeparator()))
            .replaceFrom(t.getOutputFolder(), "/"));
    eclipseToc.setHtmlFile("index.html");
    String tocContent = eclipseToc.createToc(rootItem);

    File tocOutputFile = new File(ProjectProperties.getFolderWikiDist() + ProjectProperties.getFileSeparator()
            + t.getOutputTocFile());
    Files.write(tocContent, tocOutputFile, CHARSET);

    //If more than one page, copy navigation images.
    if (t.getInputPages().size() > 1) {
        File fromFolder = new File(ProjectProperties.getFolderNavImagesSource());
        File toFolder = computeImagesFolder(t);
        Files.copy(new File(fromFolder, ProjectProperties.IMAGE_HOME),
                new File(toFolder, ProjectProperties.IMAGE_HOME));
        Files.copy(new File(fromFolder, ProjectProperties.IMAGE_NEXT),
                new File(toFolder, ProjectProperties.IMAGE_NEXT));
        Files.copy(new File(fromFolder, ProjectProperties.IMAGE_PREV),
                new File(toFolder, ProjectProperties.IMAGE_PREV));
    }
}

From source file:org.apache.whirr.service.hama.HamaMasterClusterActionHandler.java

private void createClientSideHadoopSiteFile(ClusterSpec clusterSpec, Properties config) {
    File configDir = getConfigDir(clusterSpec);
    File hamaSiteFile = new File(configDir, HamaConstants.FILE_HAMA_SITE_XML);
    try {/*from www. j a  v a2 s.c  o m*/
        Files.write(generateHamaConfigurationFile(config), hamaSiteFile, Charsets.UTF_8);
        LOG.info("Wrote Hama site file {}", hamaSiteFile);
    } catch (IOException e) {
        LOG.error("Problem writing Hama site file {}", hamaSiteFile, e);
    }
}

From source file:org.openqa.selenium.safari.SafariDriverCommandExecutor.java

private File prepareConnectFile(String serverUri) throws IOException {
    File tmpDir = TemporaryFilesystem.getDefaultTmpFS().createTempDir("anonymous", "safaridriver");
    File launchFile = new File(tmpDir, "connect.html");
    launchFile.deleteOnExit();//from  www  .j a v a 2s  .c om

    String contents = String.format("<!DOCTYPE html><script>window.location = '%s';</script>", serverUri);
    Files.write(contents, launchFile, Charsets.UTF_8);

    return launchFile;
}

From source file:de.ks.text.AsciiDocParser.java

public void renderToFile(String input, AsciiDocBackend backend, File file) {
    if (file.exists()) {
        log.info("Removing existing render target {}", file);
        file.delete();//  w  ww .  j  ava  2  s  .  c  o  m
    }
    File dataDir = createDataDir(file);
    String mathjaxDir = "./" + dataDir.getName() + "/" + AsciiDocMetaData.MATHJAX + "/";
    boolean needsMathJax = needsMathJax(input);
    metaData.copyToDir(dataDir, needsMathJax);

    AttributesBuilder attributes = getDefaultAttributes();
    attributes.stylesDir(dataDir.getName());
    attributes.tableOfContents(true);
    //    attributes.imagesDir(dataDir.getName());

    OptionsBuilder options = getDefaultOptions(attributes);
    options.backend(backend.name().toLowerCase(Locale.ROOT));

    String parse = parse(input, false, needsMathJax, mathjaxDir, options);
    try {
        parse = copyFiles(parse, dataDir);
        Files.write(parse, file, Charsets.UTF_8);
    } catch (IOException e) {
        log.error("Could not write to file {}", file, e);
        throw new RuntimeException(e);
    }
}

From source file:de.tum.in.activity.log.ActivityLogPublisher.java

/**
 * Publishes the logs to Splunk/* w w w. ja  va 2  s.c  o  m*/
 */
private void doPublish() {
    LOGGER.debug("Publishing Activity Logs Started.....");
    try {
        final String activityLogTopic = this.m_systemService.getProperties().getProperty(EVENT_LOG_TOPIC);
        final File tumLogFile = new File(IActivityLogService.LOCATION_TUM_LOG);
        Files.newReader(tumLogFile, Charsets.UTF_8).lines().forEach(line -> {
            try {
                this.m_cloudService.newCloudClient(APP_ID).controlPublish("splunk", activityLogTopic,
                        line.getBytes(), 0, false, 5);
            } catch (final Exception e) {
                LOGGER.error(Throwables.getStackTraceAsString(e));
            }
        });
        // After publishing the data, clear the log file
        Files.write("", tumLogFile, Charsets.UTF_8);
    } catch (final IOException e) {
        LOGGER.error(Throwables.getStackTraceAsString(e));
    }
}

From source file:org.eclipse.scout.docs.publish.PublishHelpUtility.java

public static void publishEclipseHelp(File rootInFolder, File rootOutFolder, File listOfPagesFile)
        throws IOException {
    if (!rootInFolder.exists() || !rootInFolder.isDirectory()) {
        throw new IllegalStateException(
                "Folder rootInFolder '" + rootInFolder.getAbsolutePath() + "' not found.");
    }//from www. j  a v a  2  s.c o m

    if (!listOfPagesFile.exists() || !listOfPagesFile.isFile()) {
        throw new IllegalStateException(
                "File listOfPagesFile '" + listOfPagesFile.getAbsolutePath() + "' not found.");
    }

    List<String> pages = Files.readLines(listOfPagesFile, Charsets.ISO_8859_1);

    List<File> inFiles = new ArrayList<File>();
    for (String p : pages) {
        if (p != null && p.length() > 0) {
            File f = new File(rootInFolder, p);
            if (!f.exists() || !f.isFile()) {
                throw new IllegalStateException("File '" + f.getAbsolutePath() + "' not found.");
            }
            inFiles.add(f);
        }
    }

    OutlineItemEx root = new OutlineItemEx(null, 0, "id", 0, 0, "Eclipse Scout User Guide");
    root.setFilePath(HTML_SUB_PATH + inFiles.get(0).getName());

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //Check if all files from the "rootInFolder" are contained in the inFiles list

    List<File> filesInFolder = new ArrayList<File>();
    filesInFolder.addAll(Arrays.asList(rootInFolder.listFiles(new FileFilter() {

        @Override
        public boolean accept(File f) {
            return f.getName().endsWith("html");
        }
    })));

    for (File f : filesInFolder) {
        if (!inFiles.contains(f)) {
            throw new IllegalStateException("File '" + f.getName() + "' is missing in the inFiles list");
        }
    }

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////

    File htmlFolder = new File(rootOutFolder, HTML_SUB_PATH);
    if (htmlFolder.exists()) {
        htmlFolder.delete();
    }

    copyNavImg(htmlFolder);

    Map<Integer, OutlineItemEx> nodeMap = new HashMap<Integer, OutlineItemEx>();
    putNode(nodeMap, root, root.getLevel());
    for (int i = 0; i < inFiles.size(); i++) {
        File inFile = inFiles.get(i);
        File outFile = new File(htmlFolder, inFile.getName());

        String html = Files.toString(inFile, Charsets.ISO_8859_1);
        String filePath = outFile.getAbsolutePath().substring(rootOutFolder.getAbsolutePath().length() + 1)
                .replaceAll("\\\\", "/");
        Document doc = Jsoup.parse(html);
        doc.outputSettings().charset("ASCII");

        if (i > 0) {
            //Next files are taken into account in the outline tree:
            computeOutlineNodes(nodeMap, doc, filePath);
        }

        //Create the navigation section:
        String nextHref = null;
        String nextTitle = null;
        String prevHref = null;
        String prevTitle = null;

        if (i < inFiles.size() - 1) {
            nextHref = inFiles.get(i + 1).getName();
            nextTitle = readAndFindFirstHeader(inFiles.get(i + 1));
        }
        if (i > 0 && inFiles.size() > 0) {
            prevHref = inFiles.get(i - 1).getName();
            prevTitle = readAndFindFirstHeader(inFiles.get(i - 1));
        }
        String baseUri = doc.baseUri();

        String title = findFirstHeader(doc);
        Element tableTop = createNavigationTable(root, title, true, nextHref, prevHref, nextTitle, prevTitle,
                baseUri);
        doc.body().insertChildren(0, Collections.singleton(tableTop));
        Element tableBottom = createNavigationTable(root, title, false, nextHref, prevHref, nextTitle,
                prevTitle, baseUri);
        insertBeforeId(doc.body(), "footer", tableBottom);

        //Move and Copy Images:
        PublishUtility.moveAndcopyImages(doc, inFile.getParentFile(), htmlFolder, IMAGES_SUB_PATH);

        //Move and Copy CSS:
        PublishUtility.moveAndcopyCss(doc, inFile.getParentFile(), htmlFolder, "css/");

        //Fix Figure Links:
        PublishUtility.fixListingLink(doc);
        PublishUtility.fixFigureLink(doc);

        //Write as file:
        Files.createParentDirs(outFile);
        Files.write(doc.toString(), outFile, Charsets.ISO_8859_1);
    }

    MarkupToEclipseToc eclipseToc = new MarkupToEclipseToc() {
        @Override
        protected String computeFile(OutlineItem item) {
            if (item instanceof OutlineItemEx && ((OutlineItemEx) item).getFilePath() != null) {
                return ((OutlineItemEx) item).getFilePath();
            }
            return super.computeFile(item);
        }
    };
    eclipseToc.setBookTitle(root.getLabel());
    eclipseToc.setHtmlFile(root.getFilePath());
    String tocContent = eclipseToc.createToc(root);
    File outTocFile = new File(rootOutFolder, "toc.xml");
    Files.write(tocContent, outTocFile, Charsets.ISO_8859_1);
}

From source file:com.github.rinde.gpem17.eval.VanLonHolvoetResultWriter.java

void writeBidComputationTimeMeasurements(SimulationResult result) {
    if (!(result.getResultObject() instanceof SimResult)) {
        return;// w  ww  .  j  a  va  2s  . com
    }
    final SimResult info = (SimResult) result.getResultObject();

    if (!info.getAuctionEvents().isEmpty() && !info.getTimeMeasurements().isEmpty()) {

        final SimArgs simArgs = result.getSimArgs();
        final Scenario scenario = simArgs.getScenario();

        final String id = Joiner.on("-").join(simArgs.getMasConfig().getName(),
                scenario.getProblemClass().getId(), scenario.getProblemInstanceId(), simArgs.getRandomSeed(),
                simArgs.getRepetition());

        File statsDir = new File(experimentDirectory, "computation-time-stats");
        statsDir.mkdirs();

        final File auctionsFile = new File(statsDir, id + "-auctions.csv");
        final File compFile = new File(statsDir, id + "-bid-computations.csv");

        StringBuilder auctionContents = new StringBuilder();
        auctionContents.append("auction_start,auction_end,num_bids").append(System.lineSeparator());
        for (AuctionEvent e : info.getAuctionEvents()) {
            Joiner.on(",").appendTo(auctionContents, e.getAuctionStartTime(), e.getTime(), e.getNumBids());
            auctionContents.append(System.lineSeparator());
        }

        ImmutableListMultimap<Bidder<?>, SolverTimeMeasurement> measurements = info.getTimeMeasurements();
        StringBuilder compContents = new StringBuilder();
        compContents.append("bidder_id,comp_start_sim_time,route_length,duration_ns")
                .append(System.lineSeparator());
        int bidderId = 0;
        for (Bidder<?> bidder : measurements.keySet()) {
            List<SolverTimeMeasurement> ms = measurements.get(bidder);
            for (SolverTimeMeasurement m : ms) {

                // int available = m.input().getAvailableParcels().size();
                // int total = GlobalStateObjects.allParcels(m.input()).size();
                // int pickedUp = total - available;
                // (available * 2) + pickedUp;
                int routeLength = m.input().getVehicles().get(0).getRoute().get().size();

                Joiner.on(",").appendTo(compContents, bidderId, m.input().getTime(), routeLength,
                        m.durationNs());
                compContents.append(System.lineSeparator());
            }
            bidderId++;
        }
        try {
            Files.write(auctionContents, auctionsFile, Charsets.UTF_8);
            Files.write(compContents, compFile, Charsets.UTF_8);
        } catch (IOException e1) {
            throw new IllegalStateException(e1);
        }

    }
}

From source file:com.sk89q.worldguard.bukkit.commands.WorldGuardCommands.java

@Command(aliases = { "report" }, desc = "Writes a report on WorldGuard", flags = "p", max = 0)
@CommandPermissions({ "worldguard.report" })
public void report(CommandContext args, final CommandSender sender) throws CommandException {
    ReportList report = new ReportList("Report");
    report.add(new SystemInfoReport());
    report.add(new ServerReport());
    report.add(new PluginReport());
    report.add(new SchedulerReport());
    report.add(new ServicesReport());
    report.add(new WorldReport());
    report.add(new PerformanceReport());
    report.add(new ConfigReport(plugin));
    String result = report.toString();

    try {/*from w ww. j a  va 2s  .  com*/
        File dest = new File(plugin.getDataFolder(), "report.txt");
        Files.write(result, dest, Charset.forName("UTF-8"));
        sender.sendMessage(ChatColor.YELLOW + "WorldGuard report written to " + dest.getAbsolutePath());
    } catch (IOException e) {
        throw new CommandException("Failed to write report: " + e.getMessage());
    }

    if (args.hasFlag('p')) {
        plugin.checkPermission(sender, "worldguard.report.pastebin");
        CommandUtils.pastebin(plugin, sender, result, "WorldGuard report: %s.report");
    }
}

From source file:eu.numberfour.n4js.tests.projectModel.FileBasedProjectModelSetup.java

private void createManifest(URI projectDir, String string) throws IOException {
    File directory = new File(java.net.URI.create(projectDir.toString()));
    Files.write(string, new File(directory, IN4JSProject.N4MF_MANIFEST), Charsets.UTF_8);
    File src = new File(directory, "src");
    assertTrue(src.mkdir());//  w w  w.  j av  a 2s  .co  m
    File sub = new File(src, "sub");
    assertTrue(sub.mkdir());
    File leaf = new File(sub, "leaf");
    assertTrue(leaf.mkdir());
    assertTrue(new File(src, "A.js").createNewFile());
    assertTrue(new File(src, "B.js").createNewFile());
    assertTrue(new File(sub, "B.js").createNewFile());
    assertTrue(new File(sub, "C.js").createNewFile());
    assertTrue(new File(leaf, "D.js").createNewFile());
}