java 将数据加载到内存中的操作

数据加载到内存中

1、建立InitListener.java

package app.util;

import java.util.HashMap;

import java.util.Map;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import org.jboss.logging.Logger;

import org.springframework.web.context.ContextLoader;

import org.springframework.web.context.WebApplicationContext;

import com.test.ResourceService;

/**

* 加载数据到内存案例

* @author 浅陌

*

*/

public class InitListener extends HttpServlet implements ServletContextListener {

/**

*

*/

private static final long serialVersionUID = 1L;

public static Map<String, Object> contextMap=new HashMap<String,Object>();

private Logger logger = Logger.getLogger(InitListenerMobileResourceTree.class);

public void init() throws ServletException{

// logger.info("====初始化方法运行初完毕====");

}

@Override

public void contextDestroyed(ServletContextEvent arg0) {

logger.info("this is last destroyeed ");

}

@Override

public void contextInitialized(ServletContextEvent sce) {//获取要加载的数据方法

try {

/*

*如果在获取数据时用到其他项目包中的接口,可以用如下方法

* WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();

* ResourceService resourceService = (ResourceService) wac.getBean("resourceService");// 跑批接口的实现类

* 在springMVC.XML 中加入

* <bean id="resourceService" class="com.test.ResourceService" />

*/

String JsonStr = 获取加载出来的数据(类型视情况而定)

//将数据放到定义好的contextMap中

contextMap.put("JsonStr", JsonStr);

} catch (Exception e) {

e.printStackTrace();

}

logger.info(contextMap);

}

}

2.配置web.xml

<listener>

<listener-class>app.util.InitListener</listener-class>

</listener>

3.获取内存中的数据

InitListener.contextMap.get("JsonStr");

补充知识:java 字节流——将硬盘中的文件读到内存中,将内存中的数据写入硬盘中

我就废话不多说了,大家还是直接看代码吧~

package com.oracle.core;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

public class ByteStream_Study

{

public static void main(String[] args) throws IOException

{

// 输入流

//从硬盘到内存,文件必须存在

InputStream in=new FileInputStream("D:\\hello.txt");

//1.分配一块内存空间 临时的空间 存放我文件的数据

byte[] b=new byte[in.available()];

//2.将数据读入到内存空间

in.read(b);

//3.将数据转换为字符串

//如果编码是UTF-8 可以省略

String s=new String(b,"GBK");

System.out.println(s);

in.close();

// 输出流

//从内存到硬盘

//文件不存在 输出流会自动创建这样一个文件

OutputStream out=new FileOutputStream("D:\\haha.txt");

String s1="再见";

//输入还是输出流 操作的都是内存空间 字节数组

out.write(s1.getBytes());

out.close();

}

}

以上这篇java 将数据加载到内存中的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 java 将数据加载到内存中的操作 的全部内容, 来源链接: utcz.com/z/350617.html

回到顶部