0

在java中处理文本文件时,有什么方法可以实现这个结果:

假设我的文本文件包含以下数据(用户编号、名字、姓氏、用户名、用户类型)

Num010101   James   Jackson   JJ123   Normal_User

现在我有另一个包含登录信息(用户、密码)的文件

JJ123   abc

当用户登录系统时,我想使用 .contains(username) 检查第一个文件,现在如果在一行中找到用户名,那么我想打印由制表符分隔的名字和姓氏特点。

我不想在这里使用映射我想打印没有第一个、第三个和第四个值的行。

在 c++ 中,我通常使用地图库或迭代器(例如 < First_value, Second_Value > 和 i->first , i->second)来执行此操作,但由于我是 java 新手,所以我有点卡住了。

我想跳过打印中的第一个、第三个和第四个值,这就是我要寻找的不是映射。

4

2 回答 2

0

看看HashMap

http://docs.oracle.com/javase/6/docs/api/java/util/HashMap.html

于 2012-06-01T09:56:13.360 回答
0

通常,您会创建一个包含有关此人的信息的类:

public class Person{
    String number, first, last, username, type;
}

然后,您将解析文件以为文件中Person的每一行创建实例。你可以使用String.split()这个或番石榴的Splitter.

接下来,我将映射集合,Persons其中Map<String, Person>键是用户名。

您可以实现该toString方法Person以返回您喜欢的格式的名字/姓氏。

于 2012-06-01T10:43:25.063 回答