用java按行读取字符串,完成一段后按对象存入map中

存入后还要读取某行里面的某段字符串,求大神上传代码... 存入后还要读取某行里面的某段字符串 ,求大神上传代码 展开
 我来答
暮影1994
2015-08-20 · TA获得超过2338个赞
知道大有可为答主
回答量:1215
采纳率:60%
帮助的人:391万
展开全部
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

/**
 * @author cs12110 2015年8月20日下午4:11:53 测试通过
 *
 */
public class SaveToMap {
/**
 * FunName: getFileContent TODO: 根据文件名,获取文件内容
 * 
 * @param fileName
 *            文件名
 * @return
 */
public static String getFileContent(String fileName) {
StringBuffer stringBuffer = new StringBuffer();
File file = new File(fileName);
try {
if (file.exists()) {// 文件存在,则进行内容读取
InputStream inputStream = new FileInputStream(file);
byte[] b = new byte[1024];
int len = -1;
while (-1 != (len = (inputStream.read(b)))) {// 循环读取文件内容
stringBuffer.append(new String(b, 0, len));
//System.out.println(new String(b, 0, len));
}

inputStream.close();// 关闭文件流,节省资源
}
} catch (Exception e) {// 异常处理
e.printStackTrace();
}

return new String(stringBuffer);
}

/**
 * FunName: getContent TODO:根据文件,获取tagstr字符串,存放在map里面
 * 
 * @param fileName
 *            文件名
 * @param tagStr
 *            目标字符串
 * @return
 */
public static Map<String, String> getContent(String fileName, String tagStr) {
Map<String, String> hashMap = new HashMap<String, String>();
String allStr = getFileContent(fileName);
int count = 0;
for (int index = 0; allStr != null && index < allStr.length()-tagStr.length(); index++) {
String temp = allStr.substring(index, index+tagStr.length());
if (temp.equals(tagStr)) {
hashMap.put("" + (count++), tagStr);
index += tagStr.length();
}
}


return hashMap;
}

/**
 * FunName: displayMap TODO:遍历Map
 * 
 * @param map
 *            目标map
 */
public static void displayMap(Map<String, String> map) {
for (int index = 0; map != null && index < map.size(); index++) {
System.out.println("Index: "+index+" TagContent: "+map.get("" + index));
}
}

public static void main(String[] args) {
displayMap(getContent("D://test.txt", "haiy"));
}

}
追问
抱歉  我乱点点没了   方便留下QQ咱们继续聊
追答
934272957
lightmenow
2015-08-20 · TA获得超过330个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:153万
展开全部
请描述清楚,你要做什么。
逐行读取文件,然后呢?
追问
然后以读取的字符串以对象形式存入map里面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-08-20
展开全部
Map<String,String> map= new HashMap<String,String>();
BufferedReader reader = null;
try{
reader = new BufferedReader(new FileReader("D:\1.txt"));
String msg = null;
while((msg = reader.readLine()) != null){
map.put("key", msg);
}

}catch(Exception e){

}
更多追问追答
追问
如果我打算取出里面某行的某个字符串怎么做呢?
追答
那就截取出来啊,你描述不清,最好是你的字符串是什么样的,你要截取什么,全部贴出来
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式