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将数据加载到内存中的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。