2017-01-12 13 views
0

私は初心者としてNLPプロジェクトで作業を開始し、私は次のようなエラーがIntellijに来ていNLPプロジェクトにFileNotFoundExceptionを取得

public static void SentenceDetect() { 

     try { 

      String paragraph = "Hi. How are you? This is Mike."; 

      // always start with a model, a model is learned from training data 
      InputStream is = new FileInputStream("en-sent.bin"); 
      SentenceModel model = new SentenceModel(is); 
      SentenceDetectorME sdetector = new SentenceDetectorME(model); 

      String sentences[] = sdetector.sentDetect(paragraph); 

      System.out.println(sentences[0]); 
      System.out.println(sentences[1]); 
      is.close(); 
     } catch (InvalidFormatException e) { 

      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

、以下に提供する方法を実行するためにen-sent.binファイルを追加していました、

java.io.FileNotFoundException: en-sent.bin (No such file or directory) 
    at java.io.FileInputStream.open0(Native Method) 
    at java.io.FileInputStream.open(FileInputStream.java:195) 
    at java.io.FileInputStream.<init>(FileInputStream.java:138) 
    at java.io.FileInputStream.<init>(FileInputStream.java:93) 
    at com.nlp.processor.MyNlp.SentenceDetect(MyNlp.java:22) 
    at com.nlp.processor.MyNlp.main(MyNlp.java:42) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 

問題は私がen-sent.binをプロジェクトに入れたものです(下図)。

enter image description here

私はのIntelliJからファイルを追加 - >モジュール - >依存関係 - >プロジェクトSDK上で選択したとJAR or Directoriesとして(+)記号を使用してファイルを追加しました。下の図。

enter image description here

どのプロジェクトでこのFileNotFoundExceptionを解決するには?プロジェクトの

更新フィギュア:

enter image description here

+0

私の推測では、 'en-sent.bin'はもはや「ファイル」ではなく埋め込みリソース(アプリケーションコンテキスト/ jarに含まれています)では、代わりに' Class#getResourceAsStream'を使用してみてください – MadProgrammer

+0

'例外スレッドmain "java.lang.IllegalArgumentException:inはnullであってはいけません!"であり、プロジェクトでこのエラーが発生します。 – Arefe

答えて

0

置きsrcフォルダにエンsent.binパラレルは、それが動作するはずです。

または、相対パスの代わりに絶対パスを指定します。

+0

まだ動作しません、私はプロジェクトの更新図を提供しました。 – Arefe

+0

あなたはlibの中に入れました、私はそれがsrcと平行でなければならないと言いました。つまり、あなたのNlpProcessorプロジェクトには、.idea、libs、src、en-sent.bin、ターゲット –

+0

の順にそのすぐ後ろに記述する必要があります。さらに、NLPとは何の関係もありません。あなたの質問のタイトルを更新してください。 –

関連する問題