Запись в файл и получение содержимого файла - PullRequest
0 голосов
/ 23 января 2012

Hii Я много пытался получить содержимое файла. Я собираюсь записать некоторое содержимое в файл и вернуть его в виде текста при нажатии кнопки.Я написал некоторый код, но, к сожалению, он не работает. Может ли кто-нибудь мне помочь. Спасибо в adv

public class Writing_to_fileActivity extends Activity {
    /** Called when the activity is first created. */
    public EditText edit;
    public Button btn, read;
    public TextView tv;
    public String str;
    public FileOutputStream fOut;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        edit = (EditText) findViewById(R.id.edit);
        btn = (Button) findViewById(R.id.btn);
        btn.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                str = edit.getText().toString();
                try {
                    File sdcard = Environment.getExternalStorageDirectory();
                     fOut= openFileOutput("Bharath.txt",
                            MODE_WORLD_WRITEABLE);                      
                    OutputStreamWriter osw = new OutputStreamWriter(fOut);                      
                    osw.write(str);                     
                    osw.flush();                        
                    osw.close();                                            
                } catch (IOException e) {
                    e.printStackTrace();
                }   
            }       
        }); 
        read =(Button)findViewById(R.id.read);
        read.setOnClickListener(new OnClickListener() {     
            public void onClick(View v) {
                StringBuilder text = new StringBuilder();
                try {
                    BufferedReader br = new BufferedReader(new FileReader(fOut));
                    String line;
                    while ((line = br.readLine()) != null) {
                        text.append(line);
                        text.append('\n');
                    }
                } catch (IOException e) {
                }
                TextView tv = (TextView) findViewById(R.id.tet);
                tv.setText(text);
            }
        }); 
    }
}

Ответы [ 3 ]

1 голос
/ 23 января 2012

Определите ваш файл снова как

FileInputStream fIn;

и установите поток ввода файла в свой файл

fIn=openFileInput("Bharath.txt");

Затем настройте считыватель буфера для чтения из потока:

BufferedReader br = new BufferedReader(new FileReader(fIn));   
0 голосов
/ 23 января 2012

Замените следующую строку ...

BufferedReader br = new BufferedReader(new FileReader(fOut));

на

BufferedReader br = new BufferedReader(new FileReader("Bharath.txt"));

и затем попробуйте ...

0 голосов
/ 23 января 2012

это код в моем приложении, надеюсь, эта помощь

запись

        File path = new File(Environment.getExternalStorageDirectory(),"/text");
        if (!path.exists()){path.mkdirs();} 

        try{
        File text = new File(path,"text.txt");
        FileWriter writer = new FileWriter(text);
        writer.append(edit.getText());
        writer.flush();
        writer.close();
                   }
               catch////

чтение

            File txt = new File(Environment.getExternalStorageDirectory(),"/text");
    File file = new File(txt,"text.txt");
    StringBuilder text = new StringBuilder();
        if(file.exists())    {   
        try {
            BufferedReader br = new BufferedReader(new FileReader(file));
            String line;
            while ((line = br.readLine()) != null) {
                text.append(line);
                text.append('\n');
                            tv.setText(Text);
            }
             //catch
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...