Here you can find the source of writeAsJAR(File dest, String propsFileName, Properties props)
public static void writeAsJAR(File dest, String propsFileName, Properties props) throws FileNotFoundException, IOException
//package com.java2s; /*// ww w . ja va2 s .c om * Copyright 2004-2005 Germinus XXI, Liferay LLC * * Licensed under the Apache License, Version 2.0 (the "License") * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * This is a derived work from source code taken from Liferay. */ import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Enumeration; import java.util.Properties; import java.util.jar.JarEntry; import java.util.jar.JarOutputStream; public class Main { public static void writeAsJAR(File dest, String propsFileName, Properties props) throws FileNotFoundException, IOException { JarOutputStream out = new JarOutputStream( new FileOutputStream(dest)); JarEntry propertiesFile = new JarEntry(propsFileName); propertiesFile.setExtra(propertiesToString(props).getBytes()); out.putNextEntry(propertiesFile); out.close(); } public static byte[] getBytes(File file) throws IOException { if (file == null || !file.exists()) { return null; } ByteArrayOutputStream out = new ByteArrayOutputStream(); FileInputStream in = new FileInputStream(file); int c = in.read(); while (c != -1) { out.write(c); c = in.read(); } in.close(); out.close(); return out.toByteArray(); } public static String propertiesToString(Properties p) { StringBuffer sb = new StringBuffer(); Enumeration enu = p.propertyNames(); while (enu.hasMoreElements()) { String key = (String) enu.nextElement(); sb.append(key); sb.append("="); sb.append(p.getProperty(key)); sb.append("\n"); } return sb.toString(); } public static boolean exists(String fileName) { File file = new File(fileName); return file.exists(); } public static String read(String fileName) throws IOException { return read(new File(fileName)); } public static String read(File file) throws IOException { BufferedReader br = new BufferedReader(new FileReader(file)); StringBuffer sb = new StringBuffer(); String line = null; while ((line = br.readLine()) != null) { sb.append(line).append('\n'); } br.close(); return sb.toString().trim(); } public static void write(File file, String s) throws IOException { if (file.getParent() != null) { mkdirs(file.getParent()); } BufferedWriter bw = new BufferedWriter(new FileWriter(file)); bw.flush(); bw.write(s); bw.flush(); bw.close(); } public static void write(String fileName, String s) throws IOException { write(new File(fileName), s); } public static void write(String pathName, String fileName, String s) throws IOException { write(new File(pathName, fileName), s); } public static void write(File dest, Properties props) throws IOException { write(dest, propertiesToString(props)); } public static void mkdirs(String pathName) { File file = new File(pathName); file.mkdirs(); } }