rusty_cool
rusty_cool

Reputation: 27

Java InputStream NullPointerException

I am trying to test some data mining algorithms from smile project (https://github.com/haifengl/smile). The testing process is simple (I have included into existing Eclipse project Maven repositories of Smile project), but with the following code I catch a NPE (Null pointer exception) with InputStream , the file is just heavy csv file necessary to be read (included in the same project folder)

package com.algorithms;

import java.io.IOException;
import java.io.InputStream;
import java.text.ParseException;

import smile.data.AttributeDataset;
import smile.data.NominalAttribute;
import smile.data.parser.DelimitedTextParser;

public class DenclueTester {
    public void doTestDenclue() throws IOException, ParseException
    {
        DelimitedTextParser parser = new DelimitedTextParser();
        parser.setResponseIndex(new NominalAttribute("class"), 0);
        InputStream in =  this.getClass().getResourceAsStream("USCensus1990_data1.csv");
        AttributeDataset data = parser.parse("US Census data", in);
        double[][] x = data.toArray(new double[data.size()][]);
        int[] y = data.toArray(new int[data.size()]);

    }
    public DenclueTester() {}   //constructor
}

The following code is executed in main :

public class Dtest
{
    public static void main(String[] args) throws IOException, ParseException 
    {
        DenclueTester dt = new DenclueTester();
        dt.doTestDenclue();
    }
}

Stack trace:

Exception in thread "main" java.lang.NullPointerException
    at java.io.Reader.<init>(Unknown Source)
    at java.io.InputStreamReader.<init>(Unknown Source)
    at smile.data.parser.DelimitedTextParser.parse(DelimitedTextParser.java:234)
    at com.algorithms.DenclueTester.doTestDenclue(DenclueTester.java:18)
    at com.algorithms.Dtest.main(Dtest.java:26)

Could anyone help me with that?

Upvotes: 0

Views: 2455

Answers (1)

rusty_cool
rusty_cool

Reputation: 27

Solved issue by placing the csv file into /classes/package_name folder. Thanks

Upvotes: 1

Related Questions