Example usage for java.io FileWriter flush

List of usage examples for java.io FileWriter flush

Introduction

In this page you can find the example usage for java.io FileWriter flush.

Prototype

public void flush() throws IOException 

Source Link

Document

Flushes the stream.

Usage

From source file:au.org.ala.layers.grid.GridClassBuilder.java

public static HashMap<Integer, GridClass> buildFromGrid(String filePath) throws IOException {
    File wktDir = new File(filePath);
    wktDir.mkdirs();// ww  w .j  a  v a  2  s .  c  o  m

    int[] wktMap = null;

    //track values for the SLD
    ArrayList<Integer> maxValues = new ArrayList<Integer>();
    ArrayList<String> labels = new ArrayList<String>();

    HashMap<Integer, GridClass> classes = new HashMap<Integer, GridClass>();
    Properties p = new Properties();
    p.load(new FileReader(filePath + ".txt"));

    boolean mergeProperties = false;

    Map<String, Set<Integer>> groupedKeys = new HashMap<String, Set<Integer>>();
    Map<Integer, Integer> translateKeys = new HashMap<Integer, Integer>();
    Map<String, Integer> translateValues = new HashMap<String, Integer>();
    ArrayList<Integer> keys = new ArrayList<Integer>();
    for (String key : p.stringPropertyNames()) {
        try {
            int k = Integer.parseInt(key);
            keys.add(k);

            //grouping of property file keys by value
            String value = p.getProperty(key);
            Set<Integer> klist = groupedKeys.get(value);
            if (klist == null)
                klist = new HashSet<Integer>();
            else
                mergeProperties = true;
            klist.add(k);
            groupedKeys.put(value, klist);

            if (!translateValues.containsKey(value))
                translateValues.put(value, translateValues.size() + 1);
            translateKeys.put(k, translateValues.get(value));

        } catch (NumberFormatException e) {
            logger.info("Excluding shape key '" + key + "'");
        } catch (Exception e) {
            logger.error(e.getMessage(), e);
        }
    }

    java.util.Collections.sort(keys);

    Grid g = new Grid(filePath);
    boolean generateWkt = false; //((long) g.nrows) * ((long) g.ncols) < (long) Integer.MAX_VALUE;

    if (mergeProperties) {
        g.replaceValues(translateKeys);

        if (!new File(filePath + ".txt.old").exists())
            FileUtils.moveFile(new File(filePath + ".txt"), new File(filePath + ".txt.old"));

        StringBuilder sb = new StringBuilder();
        for (String value : translateValues.keySet()) {
            sb.append(translateValues.get(value)).append("=").append(value).append('\n');
        }
        FileUtils.writeStringToFile(new File(filePath + ".txt"), sb.toString());

        return buildFromGrid(filePath);
    }

    if (generateWkt) {
        for (String name : groupedKeys.keySet()) {
            try {
                Set<Integer> klist = groupedKeys.get(name);

                String key = klist.iterator().next().toString();
                int k = Integer.parseInt(key);

                GridClass gc = new GridClass();
                gc.setName(name);
                gc.setId(k);

                if (klist.size() == 1)
                    klist = null;

                logger.info("getting wkt for " + filePath + " > " + key);

                Map wktIndexed = Envelope.getGridSingleLayerEnvelopeAsWktIndexed(
                        filePath + "," + key + "," + key, klist, wktMap);

                //write class wkt
                File zipFile = new File(filePath + File.separator + key + ".wkt.zip");
                ZipOutputStream zos = null;
                try {
                    zos = new ZipOutputStream(new FileOutputStream(zipFile));
                    zos.putNextEntry(new ZipEntry(key + ".wkt"));
                    zos.write(((String) wktIndexed.get("wkt")).getBytes());
                    zos.flush();
                } catch (Exception e) {
                    logger.error(e.getMessage(), e);
                } finally {
                    if (zos != null) {
                        try {
                            zos.close();
                        } catch (Exception e) {
                            logger.error(e.getMessage(), e);
                        }
                    }
                }
                BufferedOutputStream bos = null;
                try {
                    bos = new BufferedOutputStream(
                            new FileOutputStream(filePath + File.separator + key + ".wkt"));
                    bos.write(((String) wktIndexed.get("wkt")).getBytes());
                    bos.flush();
                } catch (Exception e) {
                    logger.error(e.getMessage(), e);
                } finally {
                    if (bos != null) {
                        try {
                            bos.close();
                        } catch (Exception e) {
                            logger.error(e.getMessage(), e);
                        }
                    }
                }
                logger.info("wkt written to file");
                gc.setArea_km(SpatialUtil.calculateArea((String) wktIndexed.get("wkt")) / 1000.0 / 1000.0);

                //store map
                wktMap = (int[]) wktIndexed.get("map");

                //write wkt index
                FileWriter fw = null;
                try {
                    fw = new FileWriter(filePath + File.separator + key + ".wkt.index");
                    fw.append((String) wktIndexed.get("index"));
                    fw.flush();
                } catch (Exception e) {
                    logger.error(e.getMessage(), e);
                } finally {
                    if (fw != null) {
                        try {
                            fw.close();
                        } catch (Exception e) {
                            logger.error(e.getMessage(), e);
                        }
                    }
                }
                //write wkt index a binary, include extents (minx, miny, maxx, maxy) and area (sq km)
                int minPolygonNumber = 0;
                int maxPolygonNumber = 0;

                RandomAccessFile raf = null;
                try {
                    raf = new RandomAccessFile(filePath + File.separator + key + ".wkt.index.dat", "rw");

                    String[] index = ((String) wktIndexed.get("index")).split("\n");

                    for (int i = 0; i < index.length; i++) {
                        if (index[i].length() > 1) {
                            String[] cells = index[i].split(",");
                            int polygonNumber = Integer.parseInt(cells[0]);
                            raf.writeInt(polygonNumber); //polygon number
                            int polygonStart = Integer.parseInt(cells[1]);
                            raf.writeInt(polygonStart); //character offset

                            if (i == 0) {
                                minPolygonNumber = polygonNumber;
                            } else if (i == index.length - 1) {
                                maxPolygonNumber = polygonNumber;
                            }
                        }
                    }
                } catch (Exception e) {
                    logger.error(e.getMessage(), e);
                } finally {
                    if (raf != null) {
                        try {
                            raf.close();
                        } catch (Exception e) {
                            logger.error(e.getMessage(), e);
                        }
                    }
                }

                //for SLD
                maxValues.add(gc.getMaxShapeIdx());
                labels.add(name.replace("\"", "'"));
                gc.setMinShapeIdx(minPolygonNumber);
                gc.setMaxShapeIdx(maxPolygonNumber);

                logger.info("getting multipolygon for " + filePath + " > " + key);
                MultiPolygon mp = Envelope.getGridEnvelopeAsMultiPolygon(filePath + "," + key + "," + key);
                gc.setBbox(mp.getEnvelope().toText().replace(" (", "(").replace(", ", ","));

                classes.put(k, gc);

                try {
                    //write class kml
                    zos = null;
                    try {
                        zos = new ZipOutputStream(
                                new FileOutputStream(filePath + File.separator + key + ".kml.zip"));

                        zos.putNextEntry(new ZipEntry(key + ".kml"));
                        Encoder encoder = new Encoder(new KMLConfiguration());
                        encoder.setIndenting(true);
                        encoder.encode(mp, KML.Geometry, zos);
                        zos.flush();
                    } catch (Exception e) {
                        logger.error(e.getMessage(), e);
                    } finally {
                        if (zos != null) {
                            try {
                                zos.close();
                            } catch (Exception e) {
                                logger.error(e.getMessage(), e);
                            }
                        }
                    }
                    logger.info("kml written to file");

                    final SimpleFeatureType TYPE = DataUtilities.createType("class",
                            "the_geom:MultiPolygon,id:Integer,name:String");
                    FeatureJSON fjson = new FeatureJSON();
                    SimpleFeatureBuilder featureBuilder = new SimpleFeatureBuilder(TYPE);
                    SimpleFeature sf = featureBuilder.buildFeature(null);

                    //write class geojson
                    zos = null;
                    try {
                        zos = new ZipOutputStream(
                                new FileOutputStream(filePath + File.separator + key + ".geojson.zip"));
                        zos.putNextEntry(new ZipEntry(key + ".geojson"));
                        featureBuilder.add(mp);
                        featureBuilder.add(k);
                        featureBuilder.add(name);

                        fjson.writeFeature(sf, zos);
                        zos.flush();
                    } catch (Exception e) {
                        logger.error(e.getMessage(), e);
                    } finally {
                        if (zos != null) {
                            try {
                                zos.close();
                            } catch (Exception e) {
                                logger.error(e.getMessage(), e);
                            }
                        }
                    }
                    logger.info("geojson written to file");

                    //write class shape file
                    File newFile = new File(filePath + File.separator + key + ".shp");
                    ShapefileDataStoreFactory dataStoreFactory = new ShapefileDataStoreFactory();
                    Map<String, Serializable> params = new HashMap<String, Serializable>();
                    params.put("url", newFile.toURI().toURL());
                    params.put("create spatial index", Boolean.FALSE);
                    ShapefileDataStore newDataStore = null;
                    try {
                        newDataStore = (ShapefileDataStore) dataStoreFactory.createNewDataStore(params);
                        newDataStore.createSchema(TYPE);
                        newDataStore.forceSchemaCRS(DefaultGeographicCRS.WGS84);
                        Transaction transaction = new DefaultTransaction("create");
                        String typeName = newDataStore.getTypeNames()[0];
                        SimpleFeatureSource featureSource = newDataStore.getFeatureSource(typeName);
                        SimpleFeatureStore featureStore = (SimpleFeatureStore) featureSource;
                        featureStore.setTransaction(transaction);
                        List<SimpleFeature> features = new ArrayList<SimpleFeature>();

                        DefaultFeatureCollection collection = new DefaultFeatureCollection();
                        collection.addAll(features);
                        featureStore.setTransaction(transaction);

                        features.add(sf);
                        featureStore.addFeatures(collection);
                        transaction.commit();
                        transaction.close();
                    } catch (Exception e) {
                        logger.error(e.getMessage(), e);
                    } finally {
                        if (newDataStore != null) {
                            try {
                                newDataStore.dispose();
                            } catch (Exception e) {
                                logger.error(e.getMessage(), e);
                            }
                        }
                    }

                    zos = null;
                    try {
                        zos = new ZipOutputStream(
                                new FileOutputStream(filePath + File.separator + key + ".shp.zip"));
                        //add .dbf .shp .shx .prj
                        String[] exts = { ".dbf", ".shp", ".shx", ".prj" };
                        for (String ext : exts) {
                            zos.putNextEntry(new ZipEntry(key + ext));
                            FileInputStream fis = null;
                            try {
                                fis = new FileInputStream(filePath + File.separator + key + ext);
                                byte[] buffer = new byte[1024];
                                int size;
                                while ((size = fis.read(buffer)) > 0) {
                                    zos.write(buffer, 0, size);
                                }
                            } catch (Exception e) {
                                logger.error(e.getMessage(), e);
                            } finally {
                                if (fis != null) {
                                    try {
                                        fis.close();
                                    } catch (Exception e) {
                                        logger.error(e.getMessage(), e);
                                    }
                                }
                            }
                            //remove unzipped files
                            new File(filePath + File.separator + key + ext).delete();
                        }
                        zos.flush();
                    } catch (Exception e) {
                        logger.error(e.getMessage(), e);
                    } finally {
                        if (zos != null) {
                            try {
                                zos.close();
                            } catch (Exception e) {
                                logger.error(e.getMessage(), e);
                            }
                        }
                    }
                    logger.info("shape file written to zip");
                } catch (Exception e) {
                    logger.error(e.getMessage(), e);
                }
            } catch (Exception e) {
                logger.error(e.getMessage(), e);
            }
        }

        //write polygon mapping
        g.writeGrid(filePath + File.separator + "polygons", wktMap, g.xmin, g.ymin, g.xmax, g.ymax, g.xres,
                g.yres, g.nrows, g.ncols);

        //copy the header file to get it exactly the same, but change the data type
        copyHeaderAsInt(filePath + ".grd", filePath + File.separator + "polygons.grd");
    } else {
        //build classes without generating polygons
        Map<Float, float[]> info = new HashMap<Float, float[]>();
        for (int j = 0; j < keys.size(); j++) {
            info.put(keys.get(j).floatValue(), new float[] { 0, Float.NaN, Float.NaN, Float.NaN, Float.NaN });
        }

        g.getClassInfo(info);

        for (int j = 0; j < keys.size(); j++) {
            int k = keys.get(j);
            String key = String.valueOf(k);

            String name = p.getProperty(key);

            GridClass gc = new GridClass();
            gc.setName(name);
            gc.setId(k);

            //for SLD
            maxValues.add(Integer.valueOf(key));
            labels.add(name.replace("\"", "'"));
            gc.setMinShapeIdx(Integer.valueOf(key));
            gc.setMaxShapeIdx(Integer.valueOf(key));

            float[] stats = info.get(keys.get(j).floatValue());

            //only include if area > 0
            if (stats[0] > 0) {
                gc.setBbox("POLYGON((" + stats[1] + " " + stats[2] + "," + stats[1] + " " + stats[4] + ","
                        + stats[3] + " " + stats[4] + "," + stats[3] + " " + stats[2] + "," + stats[1] + " "
                        + stats[2] + "))");

                gc.setArea_km((double) stats[0]);
                classes.put(k, gc);
            }
        }
    }

    //write sld
    exportSLD(filePath + File.separator + "polygons.sld", new File(filePath + ".txt").getName(), maxValues,
            labels);

    writeProjectionFile(filePath + File.separator + "polygons.prj");

    //write .classes.json
    ObjectMapper mapper = new ObjectMapper();
    mapper.writeValue(new File(filePath + ".classes.json"), classes);

    return classes;
}

From source file:au.org.ala.delta.util.LocalConfigFiles.java

private File getFile(String filename, String resourcePath) {
    File f = new File(
            String.format("%s%s%s", getSettingsDirectory().getAbsolutePath(), File.separator, filename));
    if (!f.exists()) {
        InputStream is = LocalConfigFiles.class.getResourceAsStream(resourcePath);
        if (is != null) {
            try {
                List<String> lines = IOUtils.readLines(is);
                FileWriter writer = new FileWriter(f);
                IOUtils.writeLines(lines, LINE_ENDING, writer);
                writer.flush();
                writer.close();//from   w ww  . j a v a  2 s . c om
            } catch (IOException ioex) {
                throw new RuntimeException(ioex);
            }
        }
    }

    return f;
}

From source file:com.respam.comniq.models.MovieListParser.java

public void JSONWriter(JSONArray JSONarr) {
    try {/*w w  w  .ja v a2  s  . com*/
        String path = System.getProperty("user.home") + File.separator + "comniq" + File.separator + "output";
        File userOutDir = new File(path);
        if (userOutDir.exists()) {
            System.out.println(userOutDir + " already exists");
        } else if (userOutDir.mkdirs()) {
            System.out.println(userOutDir + " was created");
        } else {
            System.out.println(userOutDir + " was not created");
        }

        FileWriter localList = new FileWriter(userOutDir + File.separator + "LocalList.json");
        localList.write(JSONarr.toJSONString());
        localList.flush();
        localList.close();
        System.out.println("Local Processing Complete");
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:org.yestech.lib.io.FileSystemFileDownloadFilterUnitTest.java

@Test
public void testDefaultSettings() throws IOException, ServletException {
    String testFileName = "unittest.tst";
    File file = new File(System.getProperty("java.io.tmpdir"), testFileName);
    FileWriter writer = new FileWriter(file);
    String text = "testing download";
    writer.write(text);/*from  ww w .ja v  a  2 s . c o m*/
    writer.flush();
    writer.close();
    //        config.addInitParameter("deleteAfterDownload", "false");
    //        config.addInitParameter("baseDirectory", "false");
    request.setParameter("file", testFileName);
    filter.doFilter(request, response, chain);
    assertEquals(text.length(), response.getContentLength());
    assertEquals(text, response.getContentAsString());
    assertTrue(file.exists());
    file.delete();
}

From source file:com.xpn.xwiki.plugin.laszlo.LaszloPlugin.java

public String writeLaszloFile(String name, String laszlocode) throws IOException, XWikiException {
    File laszloDir = new File(laszloPath);
    if (!laszloDir.exists())
        laszloDir.mkdirs();/*  w ww  .j a va  2 s  .  co  m*/

    String filename = getFileName(name, laszlocode);

    laszlocode = Util.secureLaszloCode(laszlocode);

    File dfile = new File(laszloDir, filename);
    if (!dfile.exists()) {
        FileWriter fwriter = new FileWriter(dfile);
        fwriter.write(laszlocode);
        fwriter.flush();
        fwriter.close();
    }

    return filename;
}

From source file:org.yestech.lib.io.FileSystemFileDownloadFilterUnitTest.java

@Test
public void testDeleteAfterDownload() throws IOException, ServletException {
    config.addInitParameter("deleteAfterDownload", "true");
    filter.init(config);//from  w  ww .j  ava 2s.com
    String testFileName = "unittest.tst222";
    File file = new File(System.getProperty("java.io.tmpdir"), testFileName);
    FileWriter writer = new FileWriter(file);
    String text = "testing download with delete";
    writer.write(text);
    writer.flush();
    writer.close();
    request.setParameter("file", testFileName);
    filter.doFilter(request, response, chain);
    assertEquals(text.length(), response.getContentLength());
    assertEquals(text, response.getContentAsString());
    assertFalse(file.exists());
}

From source file:com.yahoo.storm.yarn.TestConfig.java

synchronized File createYarnSiteConfig(Configuration yarn_conf) throws IOException {
    yarn_site_xml = new File("./target/conf/yarn-site.xml");
    yarn_site_xml.getParentFile().mkdirs();
    FileWriter writer = new FileWriter(yarn_site_xml);
    yarn_conf.writeXml(writer);/*from   w w  w.  j  a v a  2  s  .com*/
    writer.flush();
    writer.close();
    return yarn_site_xml;
}

From source file:com.servioticy.dispatcher.bolts.BenchmarkBolt.java

@Override
public void execute(Tuple input) {
    String suDoc = input.getStringByField("su");
    Long stopTS = input.getLongByField("stopts") == null ? System.currentTimeMillis()
            : input.getLongByField("stopts");
    String reason = input.getStringByField("reason") == null ? "timeout" : input.getStringByField("reason");

    SensorUpdate su;/*from   w  w  w  .j  a v  a 2s  .  co m*/
    try {
        su = this.mapper.readValue(suDoc, SensorUpdate.class);

        int chainSize = su.getPathTimestamps() == null ? 0 : su.getPathTimestamps().size();

        String csvLine = Long.toHexString(su.getOriginId()) + "," + su.getLastUpdate() + "," + stopTS + ","
                + reason + "," + chainSize;
        for (int i = 0; i < chainSize; i++) {
            csvLine += ",";
            csvLine += su.getPathTimestamps().get(i) + ",";
            csvLine += su.getTriggerPath().get(i).get(0) + "," + su.getTriggerPath().get(i).get(1);
        }

        File file = new File(dc.benchResultsDir + "/" + context.getThisTaskId() + ".csv");
        file.createNewFile();
        FileWriter writer = new FileWriter(file, true);
        writer.append(csvLine + "\n");
        writer.flush();
        writer.close();
    } catch (Exception e) {
        // TODO Log the error
        e.printStackTrace();
        collector.ack(input);
        return;
    }
    collector.ack(input);
}

From source file:generate.ShowConceptMapAction.java

public String execute() throws ClassNotFoundException, SQLException, IOException {
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/Major", "root", "pass");
    PreparedStatement ps = con//  w w  w .j a  va 2 s. c o  m
            .prepareStatement("SELECT * from conceptmapdata where chapter_name = ? and section_name = ?");
    ps.setString(1, getKey1());
    ps.setString(2, getKey2());
    System.out.println(getKey1());
    System.out.println(getKey2());
    ResultSet rs = ps.executeQuery();
    while (rs.next()) {

        setData(rs.getString("output_text"));
    }
    try {

        FileWriter file = new FileWriter("/home/chanakya/NetBeansProjects/Concepto/web/new_graph.json");
        file.write(getData());
        file.flush();
        file.close();

    } catch (IOException e) {
        e.printStackTrace();
    }

    return SUCCESS;
}

From source file:com.mycompany.rent.controllers.MapController.java

@RequestMapping(value = "/data", method = RequestMethod.GET)
public File homePage(Map model) throws IOException {

    List<ForRent> allRentals = new ArrayList();

    allRentals = forRentDao.allRentals();

    JSONObject responseDetailsJson = new JSONObject();
    JSONArray array = new JSONArray();
    for (ForRent f : allRentals) {
        array.add(f.getLat());//from  ww  w  .j  av  a 2  s  .c  om
        array.add(f.getLon());
    }

    responseDetailsJson.put("data", (Object) array);//Here you can see the data in json format

    File file = new File("/home/brennan/_repos/rent/src/main/webapp/json/data.json");

    String path = file.getPath();

    try {

        // Writing to a file  
        file.createNewFile();
        FileWriter fileWriter = new FileWriter(file);

        fileWriter.write(responseDetailsJson.toJSONString());
        fileWriter.flush();
        fileWriter.close();

    } catch (IOException e) {

    }

    FileReader fr = new FileReader(file);

    return file;
}