2016-03-19 7 views
0

Hallo Ich bin in dem unten genannten Problem stecken, wo ich eine Checkstyle-Ausnahme in if(files !=null) bekam. Also ist es auch nicht kompilierbar.Erwartete EOF gefunden, wenn

Hier ist mein Code:

private void printBeforeData(final int svrID, final PrintStream ps, final File dir) throws RemoteException { 

    // 「p[サーバID].csv」は、メモリ上のデータを使用して生成するので、除く 
    final String regexField = ELECTRIC_FILE + svrID + "\\.csv\\.[0-9]+$"; 
    final File[] files = dir.listFiles((final File dirToFilter, final String filename) -> 
     filename.matches(regexField)); 
    if (files != null) { 
     // 昇順でソート 
     final List<File> listFiles1 = Arrays.asList(files); 
     Collections.sort(listFiles1, (f1, f2) 
       -> ElectricPowerManager.getSuffixNo(f1) - ElectricPowerManager.getSuffixNo(f2)); 
     final StringBuilder strings = new StringBuilder(); 
     for (final File file: listFiles1) { 
      try (BufferedReader br = Files.newBufferedReader(file.toPath())) { 
       int cnt = 0; 
       for (String line = br.readLine(); line != null; line = br.readLine()) { 
        strings.append(line); 
        strings.append(LINE_BREAK); 
        cnt++; 
        if (cnt == CASH_ROW) { 
         // 一定数溜め込んでからファイル出力 
         ps.print(strings.toString()); 
         strings.delete(0, strings.length()); 
         cnt = 0; 
        } 
       } 
       if (cnt > 0) { 
        ps.print(strings.toString()); 
        strings.delete(0, strings.length()); 
       } 
      } catch (final IOException e) { 
       core.putSystemLog(this.getClass().getSimpleName() + "#" + METHOD_PRINT_BEFORE_DATA + 
         " Failed print Electric Data. serverID:" + svrID, e); 
      } 
     } 
    } 
} 
+0

Haben Sie Ihren gesamten Code eingefügt? Am Ende fehlt eine schließende Klammer (die schließende Klammer der Methode 'printBeforeData()'). –

+0

Hallo Martin Ich vermisste eine Klammer beim Einfügen von Code aus IDE – user3223518

+0

Sie müssen den genauen Compiler oder Programm-Ausgang in Ihre Frage stellen, wie es im Moment nicht ersichtlich ist, was das Problem ist. –

Antwort

0

final File[] files = dir.listFiles((final File dirToFilter, final String filename) - filename.matcheS(regexField));

1) Niemand (weder der Compiler noch Sie) zu verstehen, was es bedeutet, ein boolean aus einer Liste von Parametern zu subtrahieren (die - filename.matcheS(regexField))). Denken Sie noch einmal darüber nach, was Sie zu tun versuchen.

2) Sie definieren Variablen (final File, final String) in der Mitte einer Parameterliste, Sie sollten Ausdrücke hier verwenden (wie ein bereits bereits definiert und mit einem anderen Wert oder Konstanten). Ich wette, Sie verwirren Methodenaufruf mit Definition (oder Sie haben nur vergessen, den Code, den die IDE automatisch generiert).