如何读取文件并将数据存储到字符串数组中

时间:2014-09-12 12:33:46

标签: java

您有一个名为read.txt的文件,下面是文件内的数据。

OS:B,A,Linux,Windows 7,Windows     
ARCH:32 Bit,64 Bit    
Browser:Chrome,Firefox,IE   

我想读取该文件,并希望通过spiting与每个列将数据存储到String数组中 ":"符号

示例如下

String a[] = { "A","B","Linux", "Windows 7", "Windows" };    

String b[] = { "32 Bit", "64 Bit"};    

String c[] = { "Chrome", "Firefox" ,"IE"};  

3 个答案:

答案 0 :(得分:5)

一种方法是通过ReadLine提取每一行。 一旦我们有一个包含该行的字符串,就假设我们有一个“:”作为分隔符来拆分该行。 提取数组的第二个元素,并使用“,”作为分隔符

进行另一个分割

答案 1 :(得分:0)

使用apache commons io ...

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils;

public class StackOverflowExample {
    public static void main(String[] args) throws IOException{
        List<String> lines = FileUtils.readLines(null, "UTF-8");
        List<String[]> outLines = new ArrayList<String[]>();
        for(int i = 0; i < lines.size(); i++){
            String line = lines.get(i);
            outLines.add(line.split("[:,]"));

        }
   }
}

正如已经指出的那样 - 你真的应该包括一个你正在使用的代码的例子,它不会做你期望它做的事情。如果你真的根本不知道怎么做而且没有代码 - 我不确定这会有什么帮助。

答案 2 :(得分:-1)

以下是您阅读文件的方式:

BufferedReader reader = new BufferedReader("read.txt");
while((line = reader.readLine()) != null)
{
    //process line
}

所以要收到你想要的结果:

ArrayList<String[]> arrays = new ArrayList<String[]>;
BufferedReader reader = new BufferedReader("read.txt");
while((line = reader.readLine()) != null)
{
    //process line
    line = line.split(":")[1];//get the second part
    arrays.add(line.split(","));//split at "," and save into the ArrayList
}