将文本文件中转储的文本转换为Csv和Array

时间:2011-05-23 16:45:31

标签: java string csv text-files

我一直在使用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

3 个答案:

答案 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];
    ....
    }