Scala get file path of file in resources folder

19,655

I managed to be able to get the file path by doing the following

val url=getClass.getResource("/my_model.ser.gz")

val classifier = CRFClassifier.getClassifier(url.getPath())

Share:
19,655
user1893354
Author by

user1893354

Updated on June 05, 2022

Comments

  • user1893354
    user1893354 almost 2 years

    I am using the Stanford CRFClassifier and in order to run, it requires a file that is the trained classifier model. I have put this file in the resources directory. From the Javadocs for the CRFClassifier http://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/ie/crf/CRFClassifier.html#getClassifier(java.lang.String) the path to the file must be an input to CRFClassifier.getClassifier() and it is a java.lang.String object. So my question is how do I tell .getClassifier() that the file is in the resources directory? i.e. how do I get the file path of a file in the resources directory?

    I have tried simply

    val classifier = CRFClassifier.getClassifier("./src/main/resources/my_model.ser.gz")
    

    But this returns a FileNotFoundException.

    I have also tried

    Source.fromURL(getClass.getResource("/my_model.ser.gz"))
    

    which returns a BufferedSource object, but I do not know how to get a file path from this.

    Any help would be greatly appreciated.