java读取txt文件,文件中的内容如下所示。map结构,读出来的一行String怎么转换为Map。请问我该怎么做

java读取txt文件,文件中的内容如下所示。map结构,读出来的一行String怎么转换为Map。请问我该怎么做,第1张

分这么几步 *** 作:

把读出的一行数据,根据分号(;),解析成数组;

然后循环这个数组,根据冒号(:),解析成数组;

把2的数据赋给一个map;

代码示意:

String str = "你读取的一行文本";

Map map = new HashMap(); //新建map对象

String[] strArray = strsplit(";");

for(String s:strArray){

String[] sArray = ssplit(":");

mapput(sArray[0], sArray[1]);

}

示例代码:

#include <iostream>

using namespace std;

void crash()

{

__asm

{

int 3;//到这里就中断(模拟程序崩溃)

}

}

int main()

{

cout<<"hello"<<"\n";

crash();

return 0;

}

在vc60里敲入上面代码,project->settings->c/c++ 在project options里加上/Zd表示编译的时候生成行信息,然后在link选项卡里勾选Generate mapfile,在project options加上/mapinfo:lines。好了,rebuild all就可以在debug目录下生成一个后缀名为map的文件,可以用记事本打开它。

运行程序,d出有“调试 发送错误报告 不发送”三个按钮的对话框,查看错误报告技术信息,在开始的几行里有“code flags record address“记住address后的地址,我的是0x00401156。根据它就能找出崩溃时的函数地址。可以查看map文件的 “Rva+Base”(偏移+基地址)列,其中第一个大于address的前一个call对应函数就是崩溃的函数。

用法应该没错,如果没有读到和你想象中一致的数据,可能有以下几种原因:

1 你要读取的整数是8位,16位,还是32位,是无符号还是有符号?需要使用对应的类型,8位是char,16位是short,32位是int。如果使用了int,实际上是一次读四个字节,当作32位整数处理。如果你是要读八位的字节(无符号类型)的话,那应该用unsigned char,然后转化成int:

char base = (char)MapViewOfFile()

int first = (int)base[0];

cout<<first<<endl;

2 小端和大端格式。Windows下是小端格式,比如一个整数0x11223344,存在内存中的顺序是:

44 33 22 11

即低位字节在低地址,高位字节在高地址。

另一些系统使用大端格式,存在内存中的顺序和书写顺序一致是11 22 33 44。从这些系统中迁移数据需要颠倒字节顺序。

3 对齐边界。如果指定的偏移没对齐到16位或32位的边界的话,读出的16位或32位数会有问题。读8位没有这个问题。

比较简单的方法是引入json包,将map数据转换成json格式数据并存放到文件中。具体代码不在此写了。

其他的方法也可以转换成xml格式的数据,保存到内存中,不如json方法简单。另外,如果map中包含数据格式确定,可以自己写代码转换成自己定义的格式保存到文件中,该方法可修改性比较差,费时耗力。

安卓读取文件到hashmap可以这样做:

1、定义一个类继承androidTestCase。

2、在清单文件配置use-library和instrumentation,一个在application外面,一个在里面。

3、可以自己手动创建安卓测试工程,可以自动生成上面内容。

以上就是关于java读取txt文件,文件中的内容如下所示。map结构,读出来的一行String怎么转换为Map。请问我该怎么做全部的内容,包括:java读取txt文件,文件中的内容如下所示。map结构,读出来的一行String怎么转换为Map。请问我该怎么做、如何生成.MAP文件、C++中,使用MapViewOfFile对文件进行映像,如何按整数读取映像文件的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9295549.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存