如何创建一个填充文本文件中的行数的数组?

时间:2016-06-08 22:29:55

标签: java arrays

我需要做的是创建一个需要用文本文件中的行数填充的数组,所以假设文本文件有5行,所以数组将是: array [5 ] 我有以下代码:

( 4 8 )

我想要做的是在代码的最后一行创建数组,我试着这样做,但是如果我尝试打印类似的东西:

try{ LineNumberReader  lnr = new LineNumberReader(new FileReader(new File("lista de numeros.txt"))); int linenumber = 0; int primero = 0;
            String tmp = new String();
            tmp=lnr.readLine();
                while(tmp != null)
                {
                    linenumber++;  
                    JOptionPane.showMessageDialog (null, (tmp));
                    tmp=lnr.readLine();

                } int mitad=(0+linenumber)/2; int [] array = new int[linenumber];   

仅显示 0 : 有人能告诉我怎样才能以正确的方式填充阵列

1 个答案:

答案 0 :(得分:0)

您永远不会在代码中填充int数组,并且int数组元素的默认值为0。 您可以尝试使用ArrayList动态添加数字,然后使用它来填充数组:

try {
            LineNumberReader lnr = new LineNumberReader(new FileReader(new File("lista de numeros.txt")));
            int linenumber = 0;
            int primero = 0;
            ArrayList<Integer> tmpArrayList = new ArrayList();
            String tmp = new String();
            tmp = lnr.readLine();
            while (tmp != null) {
                tmpArrayList.add(Integer.parseInt(tmp));
                linenumber++;
                JOptionPane.showMessageDialog(null, (tmp));
                tmp = lnr.readLine();

            }
            int mitad = (0 + linenumber) / 2;
            int[] array = new int[linenumber];
            for (int i = 0; i < array.length; i++) {
                array[i] = tmpArrayList.get(i).intValue();
            }

使用ArrayList甚至不需要计算亚麻布数。只需在while循环后随时使用tmpArrayList.size()即可。但注意,你的文件应该只有内部,没有字符串!否则它将无法工作。

或者,您可以再次读取所有行,开始第二个循环以填充您的数组。但它不是最好的方法,因为在这种情况下你会读取文件两次:一次计算实例化数组的行数和一次填充它。