I have a multidimensional array constructed from strings, originally created with a size of [50] [50], this is too large, and now the array is filled with zero values. I'm currently trying to remove these specified values, I managed to resize the array to [requiredSize] [50], but cannot reduce it, can anyone help me with this? I tried the Internet for such an answer, but I can not find it.
Here is my complete code too (I understand that there may be some very unclean parts in my code, I still need to remove something)
import java.io.*; import java.util.*; public class FooBar { public static String[][] loadCSV() { FileInputStream inStream; InputStreamReader inFile; BufferedReader br; String line; int lineNum, tokNum, ii, jj; String [][] CSV, TempArray, TempArray2; lineNum = tokNum = ii = jj = 0; TempArray = new String[50][50]; try { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Please enter the file path of the CSV"); String fileName = in.readLine(); inStream = new FileInputStream(fileName); inFile = new InputStreamReader(inStream); br = new BufferedReader(inFile); StringTokenizer tok,tok2; lineNum = 0; line = br.readLine(); tokNum = 0; tok = new StringTokenizer(line, ","); while( tok.hasMoreTokens()) { TempArray[tokNum][0] = tok.nextToken(); tokNum++; } tokNum = 0; lineNum++; while( line != null) { line = br.readLine(); if (line != null) { tokNum = 0; tok2 = new StringTokenizer(line, ","); while(tok2.hasMoreTokens()) { TempArray[tokNum][lineNum] = tok2.nextToken(); tokNum++; } } lineNum++; } } catch(IOException e) { System.out.println("Error file may not be accessible, check the path and try again"); } CSV = new String[tokNum][50]; for (ii=0; ii<tokNum-1 ;ii++) { System.arraycopy(TempArray[ii],0,CSV[ii],0,TempArray[ii].length); } return CSV; } public static void main (String args[]) { String [][] CSV; CSV = loadCSV(); System.out.println(Arrays.deepToString(CSV)); } }
The CSV file is as follows
Height,Weight,Age,TER,Salary 163.9,46.8,37,72.6,53010.68 191.3,91.4,32,92.2,66068.51 166.5,51.1,27,77.6,42724.34 156.3,55.7,21,81.1,50531.91
It can take any size, but this is just a sample file.
I just need to resize the array so that it does not contain any null values.
I also understand that a list would be the best option here, but this is not possible due to external constraints. It can only be a multidimensional array.