本文共 3400 字,大约阅读时间需要 11 分钟。
在实际开发中会经常碰到使用编程语言读取文本文件的内容,这内容可以是各种各样的
一下本人写出我自己做的一个读取文本文件的例子,文件中存储的是我的个人网站 www.yzcopen.com 导航栏目因为懒得使用数据库了,就用text文本代替了做了一个简单的数据库一下图片是我存储的格式:
然后通过java代码在程序加载的时候读取文本内容存储到缓存中
详细代码如下:
先创建一个缓存类:
package com.yzcopen.cache;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;public class initCache {
private static MapcacheMap = new ConcurrentHashMap (); //单实例构造方法 private initCache() { } /** * 增加缓存 * @param key * @param value */ public static void setValue(String key,Object value){ cacheMap.put(key, value); } //清除指定的缓存 public synchronized static void clearOnly(String key) { cacheMap.remove(key); } //清除所有缓存 public synchronized static void clearAll() { cacheMap.clear(); } //修改缓存数据 public synchronized static void editeCache(String key,Object value) { clearOnly(key); cacheMap.put(key, value); } /** * 以下都是查询 * @param key * @return */@SuppressWarnings("unchecked")public static Map getMapValue(String key){ Object obj = cacheMap.get(key); if(obj!=null){ return (Map ) obj; } return null; }public static Object getObjValue(String key){ Object obj = cacheMap.get(key); return obj; } public static Integer getIntValue(String key){ Object obj = cacheMap.get(key); if(obj!=null){ return (Integer)obj; } return 0; }public static String getStringValue(String key){ Object obj = cacheMap.get(key); if(obj!=null){ return (String)obj; } return ""; }
}
然后读取代码函数:
public static void initCache(){ InputStream in = YzcPattern.class.getResourceAsStream("/resources/menu.txt"); //文本目录 YzcPattern 可以换成任意类 InputStreamReader reader = null; BufferedReader br = null; try { reader = new InputStreamReader( in,"gbk"); br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言 String line = ""; line = br.readLine(); List
好了核心代码都贴出来了,我就是通过这么一个文本来管理我的导航栏目的,当然最好还是用数据库管理,text可以存储一些简单的数据还是挺方便的
转载地址:http://gjbuo.baihongyu.com/