Warum erhalte ich wiederholt modifier Fehler beim kompilieren?
import java.util.*;
import java.io.*;
public final class FileListing2
{
public static void main(String... aArgs) throws FileNotFoundException
{
File startingDirectory= new File(aArgs[0]);
List<File> files = FileListing.getFileListing(startingDirectory);
//print out all file names, in the the order of File.compareTo()
for(File file : files )
{
System.out.println(file);
}
}
static public List<File> getFileListing(File aStartingDir) throws FileNotFoundException
{
validateDirectory(aStartingDir);
List<File> result = getFileListingNoSort(aStartingDir);
Collections.sort(result);
return result;
}
static private List<File> getFileListingNoSort(File aStartingDir) throws FileNotFoundException
{
List<File> result = new ArrayList<File>();
File[] filesAndDirs = aStartingDir.listFiles();
List<File> filesDirs = Arrays.asList(filesAndDirs);
for(File file : filesDirs)
{
result.add(file); //always add, even if directory
if ( ! file.isFile() )
{
//must be a directory
//recursive call!
List<File> deeperList = getFileListingNoSort(file);
result.addAll(deeperList);
}
return result;
}
}
static private void validateDirectory (File aDirectory) throws FileNotFoundException
{
if (aDirectory == null)
{
throw new IllegalArgumentException("Directory should not be null.");
}
if (!aDirectory.exists())
{
throw new FileNotFoundException("Directory does not exist: " + aDirectory);
}
if (!aDirectory.isDirectory())
{
throw new IllegalArgumentException("Is not a directory: " + aDirectory);
}
if (!aDirectory.canRead())
{
throw new IllegalArgumentException("Directory cannot be read: " + aDirectory);
}
}
}
Kopierte ich diesen code aus diese Website und versuche mich anzupassen, es für unsere Umwelt. Leider komme ich nicht an die $%!@#*($ Ding zu kompilieren. Ich bekomme immer einen Fehler bei der main-Methode: Fehler: wiederholte modifier.
public static void main(String... aArgs) throws FileNotFoundException
ist die Linie, die markiert, die für den Fehler.
Sehe ich keine doppelten Schlüssel in hier, Alle meine geschweiften Klammern und Klammern erscheinen an den richtigen stellen, und ich bin völlig ratlos.
Dies ist meine erste Zeit mit varargs...ich bin mir nicht sicher, ob ~,s~ dass Sie mir ein Problem? Ich scannte Java-Dokumentation, aber nicht vor Ort alle roten Fahnen. Außer, es stellt so gut, wenn ich das ändern String...
zu String[]
. Ich fühle, dass ich kann bekommen einige null-Werte, also würde ich lieber lassen String...
in der Methode.
Jemand sehen, alles, was ich bin fehlt? Ich fühle mich wie ich sah, dass Paris in der
der Frühling Denkaufgabe....
main(String... aArgs
hat java-Unterstützung elipse?elipse seit Java 1.5 (2004)
Die Art und Weise der code formatiert ist weder üblich noch gibt es Fehler leicht zu sehen. Bitte erwägen Sie die Nutzung einer gemeinsamen code-Formatierer (die meisten IDEs haben einen integriert).
Linie 8 muss geändert werden, FileListing2.getFileListing(startingDirectory), Dann müssen Sie hinzufügen/beheben, eine Rückkehr zu getFileListingNoSort. Dann sollte es kompilieren. Edit: Wiederholt, was Oscar sagte, Sie unten.
InformationsquelleAutor dwwilson66 | 2012-04-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Methode
getFileListingNoSort()
die Liniereturn result;
ist außerhalb der Methode, verschieben Sie es ein line-up zusammengestellt, um es im inneren, wo es hingehört.Guten Fang. Gleiche Fehlermeldung, nachdem, obwohl. Überarbeitete code gepostet
Gleicher Fehler:
return result;
ist fehl am Platz in dem aktualisierten code, es sollte in der letzten Zeile in der Methode vor die Schließung}
. Auch in der zweiten Zeile dermain()
Methode verwendenFileListing2
stattFileListing
InformationsquelleAutor Óscar López
Konnte ich nicht reproduzieren Ihre wiederholten modifier Fehler (mit JDK 1.7.0), aber die return-Anweisung der Methode
getFileListingNoSort
ist nicht in der Methode Körper.Bitte formatieren Sie Ihren code so, dass es Sinn macht und Sie werden sehen, solche Fragen. Die folgenden kompiliert fein:
C:\Users\x46332\Desktop\dev\java\bin>javac FileListing3.java
.\FileListing.java:22: error: repeated modifier
public static void main(String[] args) throws FileNotFoundException
` ^ ` ich bin mit java-version "1.7.0_02"InformationsquelleAutor Michael Schmeißer