I have CSV file with sample data in this form :
220 30    255   0   0     Javascript
200 20      0 255 128     Thinking in java
, where the first column is height, second thickness, next three are rgb values for color and last one is title. All need to be treated as separate variables. I have already written my own solution for this, but I'm wondering if there are no better/easier/shorter ways of doing this. Extracted data will then be used to create Book object, throw every Book into array of books and print it with swing. Here's the code :
private static Book[] addBook(Book b, Book[] bookTab){
        Book[] tmp = bookTab;
        bookTab = new Book[tmp.length+1];
        for(int i = 0; i < tmp.length; i++){
                bookTab[i] = tmp[i];
        }
        bookTab[tmp.length] = b;
        return bookTab;
}
public static void main(String[] args) {
    Book[] books = new Book[0];
    try {
        BufferedReader file = new BufferedReader(new FileReader("K:\\books.txt"));
        String s;
        while ((s = file.readLine()) != null) {
            int hei, thick, R, G, B;
            String tit;
            hei = Integer.parseInt(s.substring(0, 3).replaceAll(" ", ""));
            thick = Integer.parseInt(s.substring(4, 6).replaceAll(" ", ""));
            R = Integer.parseInt(s.substring(10, 13).replaceAll(" ", ""));
            G = Integer.parseInt(s.substring(14, 17).replaceAll(" ", ""));
            B = Integer.parseInt(s.substring(18, 21).replaceAll(" ", ""));
            tit = s.substring(26);
            System.out.println(tyt+wys+grb+R+G+B);
            books = addBook(new Book(wys, grb, R, G, B, tyt),books);
        }
        file.close();
    } catch (IOException e) {
        //do nothing
    }
}