/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package wsdl2ksoap.businesslogic; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Writer; /** * * @author newky */ public class FileHelper { private static String m_CompleteFolderPath; public static String GetOutputFolderPath() { return m_CompleteFolderPath; } static public String getContents(InputStream aStream) { //...checks on aFile are elided StringBuilder contents = new StringBuilder(); try { //use buffering, reading one line at a time //FileReader always assumes default encoding is OK! BufferedReader input = new BufferedReader(new InputStreamReader(aStream)); try { String line = null; //not declared within while loop /* * readLine is a bit quirky : * it returns the content of a line MINUS the newline. * it returns null only for the END of the stream. * it returns an empty String if two newlines appear in a row. */ while (( line = input.readLine()) != null){ contents.append(line); contents.append(System.getProperty("line.separator")); } } finally { input.close(); } } catch (IOException ex){ ex.printStackTrace(); } return contents.toString(); } static public boolean createFolderStructure(String parentPath, String packageName) { try { if (parentPath.length() != 0) { //output folder set //see if last character is already set with a / if (parentPath.endsWith("/")) { //yes - so remove it parentPath = parentPath.substring(0, parentPath.length()-1); } //see if the packagename ends with a / //see if last character is already set with a / if (packageName.endsWith("/")) { //yes - so remove it packageName = packageName.substring(0, packageName.length()-1); } //now split the packagename String[] folders = packageName.split("\\."); String folderPath = parentPath; //manual packaname entry //loop through in reverse order, as is the standard for Java packagenames for (int loop = 0; loop < folders.length; loop++) { //path string folderPath = folderPath + "/" + folders[loop]; File f = new File(folderPath); if (!f.exists()) { if (!f.mkdir()) { throw new Exception("Failed to create folder"); } } } //set main folder location for all files m_CompleteFolderPath = folderPath; } else { throw new Exception("Output folder has not been set"); } } catch (Exception ex) { return false; } return true; } static public boolean WriteClassTextToFile(String filename, String text) { try { //see if file exists first File fi = new File(filename); if (fi.exists()) { //delete it fi.delete(); } //write to file Writer out = new OutputStreamWriter(new FileOutputStream(fi)); out.write(text); out.close(); } catch (Exception ex) { return false; } return true; } }