java 将数据加载到内存中的操作
将数据加载到内存中
1、建立InitListener.java
packageapp.util; importjava.util.HashMap; importjava.util.Map; importjavax.servlet.ServletContextEvent; importjavax.servlet.ServletContextListener; importjavax.servlet.ServletException; importjavax.servlet.http.HttpServlet; importorg.jboss.logging.Logger; importorg.springframework.web.context.ContextLoader; importorg.springframework.web.context.WebApplicationContext; importcom.test.ResourceService; /** *加载数据到内存案例 *@author浅陌 * */ publicclassInitListenerextendsHttpServletimplementsServletContextListener{ /** * */ privatestaticfinallongserialVersionUID=1L; publicstaticMapcontextMap=newHashMap (); privateLoggerlogger=Logger.getLogger(InitListenerMobileResourceTree.class); publicvoidinit()throwsServletException{ //logger.info("====初始化方法运行初完毕===="); } @Override publicvoidcontextDestroyed(ServletContextEventarg0){ logger.info("thisislastdestroyeed"); } @Override publicvoidcontextInitialized(ServletContextEventsce){//获取要加载的数据方法 try{ /* *如果在获取数据时用到其他项目包中的接口,可以用如下方法 *WebApplicationContextwac=ContextLoader.getCurrentWebApplicationContext(); *ResourceServiceresourceService=(ResourceService)wac.getBean("resourceService");//跑批接口的实现类 *在springMVC.XML中加入 * */ StringJsonStr=获取加载出来的数据(类型视情况而定) //将数据放到定义好的contextMap中 contextMap.put("JsonStr",JsonStr); }catch(Exceptione){ e.printStackTrace(); } logger.info(contextMap); } }
2.配置web.xml
app.util.InitListener
3.获取内存中的数据
InitListener.contextMap.get("JsonStr");
补充知识:java字节流——将硬盘中的文件读到内存中,将内存中的数据写入硬盘中
我就废话不多说了,大家还是直接看代码吧~
packagecom.oracle.core; importjava.io.FileInputStream; importjava.io.FileOutputStream; importjava.io.IOException; importjava.io.InputStream; importjava.io.OutputStream; publicclassByteStream_Study { publicstaticvoidmain(String[]args)throwsIOException { //输入流 //从硬盘到内存,文件必须存在 InputStreamin=newFileInputStream("D:\\hello.txt"); //1.分配一块内存空间临时的空间存放我文件的数据 byte[]b=newbyte[in.available()]; //2.将数据读入到内存空间 in.read(b); //3.将数据转换为字符串 //如果编码是UTF-8可以省略 Strings=newString(b,"GBK"); System.out.println(s); in.close(); //输出流 //从内存到硬盘 //文件不存在输出流会自动创建这样一个文件 OutputStreamout=newFileOutputStream("D:\\haha.txt"); Strings1="再见"; //输入还是输出流操作的都是内存空间字节数组 out.write(s1.getBytes()); out.close(); } }
以上这篇java将数据加载到内存中的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。