我一直在使用actionListener
将来自众多TextFields
的文本传递到名为writetouser.txt
的文本文件中,虽然我注意到这个文本只是被转储而且不在数组的格式。出于本申请的目的,我必须能够搜索该文本文件并根据输入的搜索显示值。我有一个文件从文本文件中读取数据并尝试将数据转换为CSV
,因此它可以作为数组读取。我想知道必须输入什么而不是用户,传递以从文件writetouser.txt
内部获取文本。
附录:
public void ReadUser()
{
try{
// Open the file
FileInputStream fstream = new FileInputStream("writetouser.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
// Print the content on the console
//System.out.println (strLine);
String[] items = strLine.split(",");
String[][] usersArray = new String [10][2];
for (String item : items) {
System.out.println(item);
}
}
//Close the input stream
in.close();
}catch (Exception e){
//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
} }
这是我试图分开的数据示例。它以
的形式输入到文本文件中 inputUser = user + ", " + pass;
writetouser.WriteToUser(inputUser);
dburgess,2345
答案 0 :(得分:1)
我认为你想要的是:
String[] items = strLine.split(",");
答案 1 :(得分:1)
我注意到这一行被注释掉了:
//System.out.println (strLine);
这告诉我你可能正在努力确保你从你的文件中得到你期望的那条线。如果您 得到了您的期望,我们很清楚继续前进。如果没有,那么文件的读取方式有问题,或者数据格式没有按预期方式进行格式化。
如果到目前为止我们还不错,我们已经解决了解析和显示文件内容的问题。我假设您正在尝试将文件的内容写入终端并期望一种格式,但是要获得另一种格式。
我认为你现在看到的是这样的:
Username: dburgess
Password: 2345
(打印的用户名/密码对不超过1个)。
我猜你想要这样的东西:
Username: dburgess Password: 2345
Username: someOtherUser Password: SomeOtherpass
Username: blahblah Password: etcPass
....
Username: thelastOne Password: Icanhazpassword?
那里有很多假设(我还不完全确定你要做什么) - 如果这些假设是正确的,请告诉我;我会发布一些格式提示。
答案 2 :(得分:0)
在查看我的代码时,我注意到下面的两段代码完全相同,这就是为什么我每次向每条信息提供两次。
A
for (String item : items) {...}
乙
for (int i = 0; i < items.length; i++) {
String item = items[i];
....
}