Q&A
パソコンからandroidのsdcardへ保存したCSVファイルをアプリで読み込みたいのですが,以下のようなエラーが出てしまいます.
[android studio:Logcatでのエラー] W/System.err: java.io.FileNotFoundException: /storage/emulated/0/data.csv: open failed: EACCES (Permission denied)
私がやりたいことは,
(1)CSVファイルを読み込む
(2)読み込んだファイルからテキストをLogcatで表示させる
初歩的なミスかもしれないのですが,どなたか回答をお願いします.
実行したコードが以下の通りです.
java
1import android.content.Context; 2import android.os.Bundle; 3import android.os.Environment; 4import android.support.wearable.activity.WearableActivity; 5import android.support.wearable.view.BoxInsetLayout; 6import android.widget.TextView; 7 8import java.io.BufferedReader; 9import java.io.File; 10import java.io.FileInputStream; 11import java.io.IOException; 12import java.io.InputStreamReader; 13 14public class MainActivity extends WearableActivity { 15 16 private BoxInsetLayout mContainerView; 17 private TextView mTextView; 18 private TextView mClockView; 19 private Context context; 20 21 private String name = Environment.getExternalStorageDirectory().getPath(); 22 23 @Override 24 protected void onCreate(Bundle savedInstanceState) { 25 super.onCreate(savedInstanceState); 26 setContentView(R.layout.activity_main); 27 setAmbientEnabled(); 28 29 mContainerView = (BoxInsetLayout) findViewById(R.id.container); 30 mTextView = (TextView) findViewById(R.id.text); 31 mClockView = (TextView) findViewById(R.id.clock); 32 33 34 TextView text = (TextView)findViewById(R.id.textview_id); 35 FileInputStream file = null; 36 BufferedReader in = null; 37 try { 38 file = new FileInputStream(new File(name + "/data.csv")); 39 <<<<↓ここでエラーが起きる↓>>>> 40 in = new BufferedReader(new InputStreamReader(file, "UTF-8")); 41 System.out.println(String.valueOf(in)); 42 } catch (IOException e) { 43 e.printStackTrace(); 44 } 45 } 46}
[androidmanifest.xml] <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="hoge"> <uses-feature android:name="android.hardware.type.watch" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@android:style/Theme.DeviceDefault"> <uses-library android:name="com.google.android.wearable" android:required="false" /> <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@android:style/Theme.DeviceDefault.Light"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。