【发布时间】:2016-01-20 21:05:28
【问题描述】:
我有一个由多行组成的文本文档,每行都有一个用户名、一个逗号和一个密码。例如,
Joe, pass1
Sally, badpassword
Ahmed, goodpassword
等等。
我可以毫无困难地将这些行读入我的程序。之后我想将它们分成ArrayList。 String.split() 说它应该将它们分成一个数组。我需要一个ArrayList,无论如何,当我调用split() 我的String 没有改变。所以我不知道该怎么做。
这是我认为我遇到问题的地方:
while (true) {
if ((str = br1.readLine()) != null)
break;
out.println(str);
str.split(",");
userstr.add(str);
}
这是全班:
public BuggerGUI() {
super("password");
setLayout(new GridLayout(3, 4));
userL = new JLabel("username");
add(userL);
userT = new JTextField(10);
add(userT);
passL = new JLabel("password: ");
add(passL);
passT = new JPasswordField(10);
add(passT);
blankL = new JLabel();
add(blankL);
loggin = new JButton("login");
add(loggin);
handler Handler = new handler();
userT.addActionListener(Handler);
passT.addActionListener(Handler);
loggin.addActionListener(Handler);
}
private class handler implements ActionListener {
@Override
public void actionPerformed(ActionEvent event) {
String user = userT.getText();
String pass = passT.getText();
if (event.getSource() == loggin) {
out.println("username: " + user);
out.println("password: " + pass);
try {
ArrayList userstr = new ArrayList();
FileReader fr1 = new FileReader("C:\\Users\\Owner\\Desktop\\passlist.txt");
BufferedReader br1 = new BufferedReader(fr1);
String str;
while (true) {
if ((str = br1.readLine()) != null)
break;
out.println(str);
str.split(",");
userstr.add(str);
}
for (int i = 0; i < userstr.size();)
if (userT.equals(userstr.get(i)))
out.print("cool");
} catch(IOException e) {
System.out.println(ERROR);
}
}
}
}
【问题讨论】:
-
你有什么问题?
-
我如何分割字符串@SLaks
-
如果您的目标是因沟通不畅而感到沮丧,那么不幸的是,它是有效的。请解决这个问题;请告诉重要的细节。也请浏览tour、help center 和how to ask a good question 部分。
-
5 秒的研究会给你答案。您为什么不寻找如何在 java 中拆分字符串的示例?像这样:stackoverflow.com/questions/3481828/…
-
是的,它确实有效,只是你没有正确使用它。
标签: java arrays string string-split