List of usage examples for java.io FileWriter flush
public void flush() throws IOException
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; }