Pourquoi suis-je hors d'Instruction d'erreur en Java?

Lorsque j'essaie de compiler ce programme, j'obtiens une "inaccessible déclaration" erreur à la ligne 21:

import java.util.*;
import java.io.*;
import java.nio.file.*;
import java.lang.StringBuilder;

class FilePrep {
    public static void main(String args[]) {
    }
    public String getStringFromBuffer() {
        try {
            Path file = Paths.get("testfile2.txt");
            FileInputStream fstream = new FileInputStream("testfile2.txt");
            BufferedReader br = new BufferedReader(new InputStreamReader(fstream));  
                String inputLine = null;                    
            StringBuffer theText = new StringBuffer();  

            while((inputLine=br.readLine())!=null) {
                theText.append(inputLine+" ");
            }
            return theText.toString();
            System.out.println(theText); //<-- line 21
        }
        catch (Exception e)
        {
            System.err.println("Error: " + e.getMessage());
            return null;
        }
    }
}

Le compilateur complet sortie:

Main.java:21: error: unreachable statement
            System.out.println(theText);
            ^
Main.java:28: error: missing return statement
    }
    ^
2 errors

Je pense la return états sont dans les bons endroits...ils semblent être moins pour moi, et le programme semble si simple par rapport à celui que j'ai cloné à partir, que je vais avoir bien du mal à comprendre pourquoi cette déclaration est inaccessible.

Qu'ai-je fait de mal lors de la copie du code, et comment dois-je la corriger?

  • Cette System.out.println(theText); sera jamais appelé, car avant il y est de retour, passer ces deux lignes
  • Comme expliqué dans meta, j'ai simplifié à cette question et ajout d'un lien. N'hésitez pas à modifier (ou même revenir) ces changements.
InformationsquelleAutor dwwilson66 | 2012-07-15