2017-02-06 5 views
1

アンドロイドアプリで作業していますが、その一部はSDカードからPDFファイルをインポートしてテキストビューで表示することです。私はitextを使ってpdfから.txtファイルを作成しています。 .txtファイルの内容をテキスト表示で表示する際に問題が発生しています。誰でも助けてください。アンドロイド:テキストビューに.txtファイルを表示するとエラーが発生する

+0

http://stackoverflow.com/questions/5963535/java-lang-illegalargumentexception-contains-a-path-separator? – user3367946

+0

[http://stackoverflow.com/questions/5963535/java-lang-illegalargumentexception-contains-a-path-separator](http://stackoverflow.com/questions/5963535/java-lang-illegalargumentexception-contains-a -path-separator) – user3367946

+0

[http://stackoverflow.com/questions/5963535/java-lang-illegalargumentexception-contains-a-path-separator](http://stackoverflow.com/questions/5963535/java-lang- illegalargumentexception-a-path-separator) – user3367946

答えて

1

openFileInput()は、パス区切り文字( '/')を受け入れません。これは、開く/アクセスするファイルの名前のみを受け入れます。だから、へ

InputStream in = openFileInput(String.valueOf(filepath)); 

FileInputStream in = FileInputStream(filepath); 

はまた Fileタイプを受け入れることができ FileInputStreamとして Stringfilepathを変換する必要はありませんが文を変更します。

1

ContextWrapper.openFileInput()のドキュメントでは、具体的にはパスを指定できないと言います。

name String: The name of the file to open; can not contain path separators.

openFileInput私は手段アプリアプリの目的のために作成されますので、それはあなたのプライベートなアプリのデータディレクトリに保存されるファイルだと思うプライベートファイルを扱うためのものです。

私はあなたの全体のコードスニペットを読んでいなかったが、あなたは正しくFileオブジェクトをインスタンス化していて、ちょうどFileInputStreamをしたいと仮定すると、あなただけの直接1をインスタンス化することができるはずです。

InputStream in = new FileInputStream(filepath);

あなたのアプリにファイルへのアクセス権があることを確認する。

関連する問題