Java 将输入从文本文件保存到数组

Java 将输入从文本文件保存到数组,java,file,text,arrays,Java,File,Text,Arrays,如何将文本文件内容保存到不同的数组 我的文本文件内容是这样的 12 14 16 18 13 17 14 18 10 23 pic1 pic2 pic3 pic4 pic5 pic6 pic7 pic8 pic9 pic10 left right top left right right top top left right 100 200 300 400 500 600 700 800 900 1000 如何将每行保存到不同的数组中? e、 g 查看字符串[]拆分解决方案1 List<S

如何将文本文件内容保存到不同的数组

我的文本文件内容是这样的

12 14 16 18 13 17 14 18 10 23
pic1 pic2 pic3 pic4 pic5 pic6 pic7 pic8 pic9 pic10
left right top left right right top top left right
100 200 300 400 500 600 700 800 900 1000
如何将每行保存到不同的数组中? e、 g


查看字符串[]拆分

解决方案1

List<String[]> arrays = new ArrayList<String[]>(); //You need an array list of arrays since you dont know how many lines does the text file has
try {
        BufferedReader in = new BufferedReader(new FileReader("infilename"));
        String str;
        while ((str = in.readLine()) != null) {
           String arr[] = str.split(" ");
           if(arr.length>0) arrays.add(arr);
        }
        in.close();
    } catch (IOException e) {
    }
解决方案2:我认为这不是一个好主意,但如果您确定文件始终包含4行,则可以执行此操作

String arr1[];
String arr2[];
String arr3[];
String arr4[];
try {
        BufferedReader in = new BufferedReader(new FileReader("infilename"));
        String str;
        str = in.readLine();
        arr1[] = str.split(" ");
        str = in.readLine();
        arr2[] = str.split(" ");
        str = in.readLine();
        arr3[] = str.split(" ");
        str = in.readLine();
        arr4[] = str.split(" ");

        in.close();
    } catch (IOException e) {
    }

谢谢,但我的意思是,每一行将保存在不同的数组中。e、 g.我将有4个不同的阵列,每个阵列的大小为10。不在同一数组中。txt文件中有4行将创建4个数组。每个数组的大小为10。数组中的每个元素都可以被称为array1.get(i)我已经更新了答案,可以在4个数组中迭代。您总是要有4个阵列吗?谢谢。。是文本文件将始终包含4行…:-)
for( String[] myarr : arrays){
   //Do something with myarr
}
String arr1[];
String arr2[];
String arr3[];
String arr4[];
try {
        BufferedReader in = new BufferedReader(new FileReader("infilename"));
        String str;
        str = in.readLine();
        arr1[] = str.split(" ");
        str = in.readLine();
        arr2[] = str.split(" ");
        str = in.readLine();
        arr3[] = str.split(" ");
        str = in.readLine();
        arr4[] = str.split(" ");

        in.close();
    } catch (IOException e) {
    }