ここを参考にしてプログラムを書きました。
#当該のコード
java
1import android.app.Activity; 2import android.os.Bundle; 3import android.view.View; 4import android.widget.Button; 5import android.widget.EditText; 6import android.widget.TextView; 7import java.io.BufferedReader; 8import java.io.BufferedWriter; 9import java.io.File; 10import java.io.FileInputStream; 11import java.io.FileNotFoundException; 12import java.io.FileOutputStream; 13import java.io.IOException; 14import java.io.InputStreamReader; 15import java.io.OutputStreamWriter; 16 17 18public class MainActivity extends Activity { 19 private TextView textView; 20 private EditText editText; 21 private String fileName = "file.txt"; 22 23 24 @Override 25 protected void onCreate(Bundle savedInstanceState) { 26 super.onCreate(savedInstanceState); 27 setContentView(R.layout.activity_main); 28 29 textView = findViewById(R.id.text_view); 30 31 editText = findViewById(R.id.edit_text); 32 33 34 createFile(); 35 36 37 Button buttonSave = findViewById(R.id.button_save); 38 buttonSave.setOnClickListener(new View.OnClickListener() { 39 @Override 40 public void onClick(View v) { 41 String text = editText.getText().toString(); 42 saveFile(fileName, text); 43 if (text.length() == 0) { 44 textView.setText(R.string.no_text); 45 } else { 46 textView.setText(R.string.saved); 47 } 48 } 49 }); 50 51 Button buttonRead = findViewById(R.id.button_read); 52 buttonRead.setOnClickListener(new View.OnClickListener() { 53 @Override 54 public void onClick(View v) { 55 String str = readFile(fileName); 56 if (str != null) { 57 textView.setText(str); 58 } else { 59 textView.setText(R.string.read_error); 60 } 61 } 62 }); 63 } 64 65 66 67 public void createFile() { 68 File file = new File(getFilesDir() + "/" + fileName); 69 if(!file.exists()){ 70 try { 71 file.createNewFile(); 72 } catch (IOException e) { 73 } 74 } 75 } 76 77 78 public void saveFile(String file, String str) { 79 try { 80 FileOutputStream fos = openFileOutput(file, MODE_PRIVATE); 81 OutputStreamWriter osw = new OutputStreamWriter(fos); 82 BufferedWriter writer = new BufferedWriter(osw); 83 writer.write(str); 84 writer.close(); 85 } catch (IOException e) { 86 e.printStackTrace(); 87 } 88 } 89 90 public String readFile(String file) { 91 String text = null; 92 try { 93 FileInputStream fileInputStream = openFileInput(file); 94 BufferedReader reader = new BufferedReader( 95 new InputStreamReader(fileInputStream, "UTF-8")); 96 } catch (IOException e) { 97 e.printStackTrace(); 98 } 99 100 return text; 101 } 102 103 104}
#質問
read_fileのボタンを押すとread file error!!が帰ってくるのですが
file.txtは入力した時に作成されるのではなく、あらかじめ用意するものなのでしょうか?そしてこのファイルがどこに保存されるのかを教えていただきたいです。
#これでできました
java
1 2package com.example.ueday.write; 3 4import android.app.Activity; 5import android.os.Bundle; 6import android.view.View; 7import android.widget.Button; 8import android.widget.EditText; 9import android.widget.TextView; 10import java.io.BufferedReader; 11import java.io.BufferedWriter; 12import java.io.File; 13import java.io.FileInputStream; 14import java.io.FileNotFoundException; 15import java.io.FileOutputStream; 16import java.io.IOException; 17import java.io.InputStreamReader; 18import java.io.OutputStreamWriter; 19 20 21public class MainActivity extends Activity { 22 private TextView textView; 23 private EditText editText; 24 private String fileName = "file.txt"; 25 26 27 @Override 28 protected void onCreate(Bundle savedInstanceState) { 29 super.onCreate(savedInstanceState); 30 setContentView(R.layout.activity_main); 31 32 textView = findViewById(R.id.text_view); 33 34 editText = findViewById(R.id.edit_text); 35 36 37 createFile(); 38 39 40 Button buttonSave = findViewById(R.id.button_save); 41 buttonSave.setOnClickListener(new View.OnClickListener() { 42 @Override 43 public void onClick(View v) { 44 String text = editText.getText().toString(); 45 saveFile(fileName, text); 46 if (text.length() == 0) { 47 textView.setText(R.string.no_text); 48 } else { 49 textView.setText(R.string.saved); 50 } 51 } 52 }); 53 54 Button buttonRead = findViewById(R.id.button_read); 55 buttonRead.setOnClickListener(new View.OnClickListener() { 56 @Override 57 public void onClick(View v) { 58 String str = readFile(fileName); 59 if (str != null) { 60 textView.setText(str); 61 } else { 62 textView.setText(R.string.read_error); 63 } 64 } 65 }); 66 } 67 68 69 70 public void createFile() { 71 File file = new File(getFilesDir() + "/" + fileName); 72 if(!file.exists()){ 73 try { 74 file.createNewFile(); 75 } catch (IOException e) { 76 } 77 } 78 } 79 80 81 public void saveFile(String file, String str) { 82 try { 83 FileOutputStream fos = openFileOutput(file, MODE_PRIVATE); 84 OutputStreamWriter osw = new OutputStreamWriter(fos); 85 BufferedWriter writer = new BufferedWriter(osw); 86 writer.write(str); 87 writer.close(); 88 } catch (IOException e) { 89 e.printStackTrace(); 90 } 91 } 92 93 public String readFile(String file) { 94 String text = null; 95 try { 96 FileInputStream fileInputStream = openFileInput(file); 97 BufferedReader reader = new BufferedReader( 98 new InputStreamReader(fileInputStream, "UTF-8")); 99 String lineBuffer; 100 while( (lineBuffer = reader.readLine()) != null ) { 101 text = lineBuffer ; 102 } 103 104 } catch (IOException e) { 105 e.printStackTrace(); 106 } 107 108 return text; 109 } 110 111 112}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/11/26 06:07
2017/11/26 07:11 編集
退会済みユーザー
2017/11/26 10:33
退会済みユーザー
2017/11/26 10:39