Index: forgon-tools/src/main/java/com/forgon/tools/util/FileUtils.java =================================================================== diff -u --- forgon-tools/src/main/java/com/forgon/tools/util/FileUtils.java (revision 0) +++ forgon-tools/src/main/java/com/forgon/tools/util/FileUtils.java (revision 15191) @@ -0,0 +1,51 @@ +/** + * + */ +package com.forgon.tools.util; + +import java.io.IOException; +import java.nio.charset.Charset; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardOpenOption; +import java.util.ArrayList; +import java.util.List; + +/** + * @author jeffli 2016年9月27日 下午3:25:20 + * + */ +public class FileUtils { + + public static String readAllContentAsString(String path, String charsetStr) { + return readAllContentAsString(Paths.get(path), charsetStr); + } + + public static String readAllContentAsString(Path path, String charsetStr) { + try { + Charset charset = Charset.forName(charsetStr); + byte[] encoded = Files.readAllBytes(path); + return new String(encoded, charset); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + public static boolean writeStringToFile(String path, String content, + String charsetStr) { + try { + List lines = new ArrayList(); + lines.add(content); + Charset charset = Charset.forName(charsetStr); + Files.write(Paths.get(path), lines, charset, + StandardOpenOption.CREATE, + StandardOpenOption.TRUNCATE_EXISTING); + return true; + } catch (IOException e) { + e.printStackTrace(); + } + return false; + } +} Index: forgon-tools/src/main/java/com/forgon/servlet/ForgonServletContextListener.java =================================================================== diff -u --- forgon-tools/src/main/java/com/forgon/servlet/ForgonServletContextListener.java (revision 0) +++ forgon-tools/src/main/java/com/forgon/servlet/ForgonServletContextListener.java (revision 15191) @@ -0,0 +1,37 @@ +/** + * + */ +package com.forgon.servlet; + +import javax.servlet.ServletContext; +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; + +/** + * @author jeffli 2016年9月27日 下午3:02:39 + * + */ +public class ForgonServletContextListener implements ServletContextListener { + + private static ServletContext servletContext = null; + /* (non-Javadoc) + * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent) + */ + @Override + public void contextInitialized(ServletContextEvent sce) { + servletContext = sce.getServletContext(); + } + + /* (non-Javadoc) + * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent) + */ + @Override + public void contextDestroyed(ServletContextEvent sce) { + // TODO Auto-generated method stub + + } + + public static ServletContext getServletContext(){ + return servletContext; + } +} Index: forgon-tools/src/main/java/com/forgon/tools/util/PathUtils.java =================================================================== diff -u --- forgon-tools/src/main/java/com/forgon/tools/util/PathUtils.java (revision 0) +++ forgon-tools/src/main/java/com/forgon/tools/util/PathUtils.java (revision 15191) @@ -0,0 +1,20 @@ +/** + * + */ +package com.forgon.tools.util; + +import javax.servlet.ServletContext; + +import com.forgon.servlet.ForgonServletContextListener; + +/** + * @author jeffli 2016年9月30日 下午3:59:39 + * + */ +public class PathUtils { + public static String getWebAppRootPath() { + ServletContext servletContext = ForgonServletContextListener + .getServletContext(); + return servletContext.getRealPath(""); + } +}