3个回答
展开全部
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
展开全部
请描述清楚,你要做什么。
逐行读取文件,然后呢?
逐行读取文件,然后呢?
追问
然后以读取的字符串以对象形式存入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){
}
更多追问追答
追问
如果我打算取出里面某行的某个字符串怎么做呢?
追答
那就截取出来啊,你描述不清,最好是你的字符串是什么样的,你要截取什么,全部贴出来
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询