我试图找出如何使用分隔符从文本文件源开始构建新对象。
我正在使用的txt数据示例:
“1种|佛瑞德|鱼| fredfish@gamer.net | Ithroeann:2 |劳瑞|纳什| laurieeenash@gmail.com | Mazzzap:”
这是我到目前为止创建数组中的第一个对象,但我想知道如何使用“:”作为第二个分隔符来构建第二个对象。 我正在考虑使用循环来自动化这个过程。
public class PlayerReader {
public static void main(String[] args) {
Scanner input = new Scanner(new File("commandline.txt"));
input.useDelimiter("|");
Player[] players = new Player[0];
while (input.hasNext()) {
String id = input.next();
String firstName = input.next();
String lastName = input.next();
String emailAddress = input.next();
String gamerTag = input.next();
Player newPlayer = new Player(id, firstName, lastName, emailAddress, gamerTag);
players = addPlayer(players, newPlayer);
}
}
}
答案 0 :(得分:0)
我认为您在询问如何处理您的文件有两个分隔符的事实 - > |分隔字段和:分隔包含字段的对象。
应该是直截了当的。请尝试以下方法:
以字符串形式读取整个文件内容。
String content = new String(Files.readAllBytes(Paths.get("commandline.txt")));
将由以下内容分隔的对象分开:
String[] objects = content.split(":");
创建一个新的对象空列表 - 玩家:
List<Player> players = new ArrayList<Player>();
使用您的业务映射将每个对象转换为播放器,并将如此获得的每个播放器添加到上面的列表中。
for (String object : objects) {
String[] fields = object.split("|");
player.add(new Player(fields[0], fields[1], ...);
}