c逐行读取txt文件数据_教你一招,使用java读取解析txt文本数据,管理简单的数据...

在实际开发中会经常碰到使用编程语言读取文本文件的内容,这内容可以是各种各样的

一下本人写出我自己做的一个读取文本文件的例子,

文件中存储的是我的个人网站 www.yzcopen.com 导航栏目

因为懒得使用数据库了,就用text文本代替了做了一个简单的数据库

一下图片是我存储的格式:

b4c1d0e112746b4581d2f22c518d5723.png

然后通过java代码在程序加载的时候读取文本内容存储到缓存中

详细代码如下:

先创建一个缓存类:

package com.yzcopen.cache;

import java.util.Map;

import java.util.concurrent.ConcurrentHashMap;

public class initCache {

private static Map cacheMap = 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> menup = new ArrayList>();

List> menuc = new ArrayList>();

while (line != null) {

String[] lines = line.split("|");

if(lines[0].equals("p")){

Map map = new HashMap();

map.put("bh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值