2017-11-26 7 views
0

私はすでにここに公開された多くのバージョンを試しましたが、うまくいきませんでした。私のコードで私はこの公的な機能を持っています。ファイルが存在し、テキストがありますが、関数は何も返しません。fileinputstreamが読んでいない

何が間違っていたのですか。何を変更しなければならないのですか?

public String lesen(String dateiname) throws IOException { 
     FileInputStream fin = openFileInput(dateiname); // z.b. "Montag.txt" 
     int size; 
     String neuText = null; 
     while ((size = fin.read()) != -1) { 
      neuText += Character.toString((char) size); 
     } 
     return neuText; 
    } 
+1

の - どのようにあなたが知っているのですか? 'openFileInput()'は[内部ストレージ](https://commonsware.com/blog/2017/11/13/storage-situation-internal-storage.html)のファイルを開きます。これは一般のユーザーには見えません。このファイルを作成するために 'openFileOutput()'を使いましたか?また、一度に1文字ずつファイルを読むことは非常に遅いですし、 'InputStream'からテキストを読むための優れたJavaソリューションがあります。 – CommonsWare

答えて

0

ような何か試してみてください: "ファイルが存在する"

public String readAllLinesFrom(String file) throws IOException { 
     StringBuilder lines = new StringBuilder(); 
     try(BufferedReader input = new BufferedReader(new FileReader(file))) { 
      String row = null; 
      while ((row = input.readLine()) != null) { 
       lines.append(row); 
      } 
     } 
     return lines.toString(); 
} 
関連する問題