1) If you want to use PorterStemmer as part of Lucene token analysis process, use PorterStemFilter
Sample code
class MyAnalyzer extends Analyzer {
public final TokenStream tokenStream(String fieldName, Reader reader) {
return new PorterStemFilter(new LowerCaseTokenizer(reader));
}
}
2) If you want to use PorterStemmer just for any other application, here is the sourcecode by author himself: PorterStemmer in Java