0

小さな「xml テキスト ベースのデータベース」を使用して情報を保存しています。コーディングとデバッグ中に、作成したメソッドに問題はありませんでしたが、exe ファイル (jsmooth でラップ) として、エラーが発生します。

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: java.io.BufferedReader.lines()LJava/util/stream/Stream: 
      at primary.loadErrorDB(primary.java:471

だから私は471行目をチェックしましたが、Intellijではそのようなエラーはなく、すべて正常に動作します。

皆さんが何をすべきか知っていることを願っています。

これが方法です

    public static Object[] loadErrorDB() {

    File db = new File(System.getProperty("user.dir") + "\\errordb.xml");

    Object[] errordbAry = new String[20][20];

    FileReader file = null;
    try {
        file = new FileReader(db);
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    try {
        BufferedReader br = new BufferedReader(file);

        Stream<String> streamList = br.lines();

        errordbAry = streamList.toArray();

    } catch (Exception ex) {
        ex.printStackTrace();
    }


    String a = "";
    for (Object o : errordbAry) {
        a = a + String.valueOf(o) + ";";
    }

    String[] srgAry = a.split(";");

    String[] newAry = new String[srgAry.length - 5];
    int x = 0;

    for (int i = 5; i < srgAry.length; i++) {
        newAry[x] = srgAry[i];
        x++;
    }

    return newAry;

}
4

3 に答える 3

1
br.lines(); <--BufferedReader don't have method lines() upto Java7 use readLine()

Java8この機能を使用するには、Java を更新してください。

一度に 1 行ずつ読みたい場合は、

String line=br.readLine();

その前に、読み込もうとしているファイルに行ごとのnullチェックがあることを確認してください。

String line=null;
if((line=br.readLine())!=null)
  {//Go Ahead
  }

この中からもっと見るBufferedReader

于 2014-07-03T09:02:12.480 に答える