public static String[] readFileFromRow(String filePath, int firstRow) throws IOException {

        InputStreamReader f = null;
        BufferedReader reader = null;
        List<String> list_toReturn = null;
        String[] toReturn = null;
        int i = 0;
        String encoding = null;

        try {
            encoding = Util.getFileEncoding(filePath);
            if (encoding != null)
                f = new InputStreamReader(new FileInputStream(filePath), encoding);
            else
                f = new InputStreamReader(new FileInputStream(filePath));
            reader = new BufferedReader(f);
            list_toReturn = new ArrayList<String>();
            String text_line = reader.readLine();

            while (text_line != null && (i + 1) < firstRow) {
                text_line = reader.readLine();
                i++;
            }

            while (text_line != null) {
                list_toReturn.add(text_line);
                text_line = reader.readLine();
                i++;
            }
            toReturn = new String[list_toReturn.size()];
            list_toReturn.toArray(toReturn);
        }
        catch (FileNotFoundException e) {
            System.out.println("File non trovato");
            throw e;
        }
        catch (IOException e) {
            System.out.println("Errore in lettura");
            throw e;
        }
        finally {
            try {
                if (f != null)
                    f.close();
                if (reader != null)
                    reader.close();
            }
            catch (IOException e) {
                System.out.println("Errore in chiusura");
            }
        }

        return toReturn;

    }