2015-10-20 7 views
0

Этот OutputStream код ниже может работать .. но PLZZ сказать мне, где я могу сделать текстовый файл .. я поставил его на рабочем столе ..Этот OutputStream код does't Сохранить строки в текстовый файл

Button input = (Button) findViewById(R.id.input);  
input.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      try { 
       String str = "MY NAME IS OZEER AHMAD, I BELONGS FROM KASHMIR. DOING BCS FROM PESHAWAR UNIVERSITY"; 
       FileOutputStream fout = openFileOutput(str, MODE_WORLD_READABLE); 
       OutputStreamWriter w = new OutputStreamWriter(fout); 
       w.write(str); 
       w.flush(); 
       w.close(); 
       Toast.makeText(getBaseContext(), "Data Inserted IN OUTPUT FILE", Toast.LENGTH_LONG).show();  
      } catch (Exception ex) { 
       // TODO Auto-generated catch block 
       Toast.makeText(getBaseContext(), "ERROR FOUND IN OUTPUT FILE", Toast.LENGTH_LONG).show(); 
       ex.printStackTrace(); 
      } 
     } 
    }); 
+0

Assalam о Aliekum .. пожалуйста, удалите 'ш .flush(); 'после' w.write() ' – Minato

+0

его не работает Брат #MubashirHanif – Ozzy

ответ

2

Вы передаете неправильные параметры в openFileOutput, первый параметр это имя файла не строка, которое вы хотите записать в файл, используйте этот код:

String fileName="SOMEFILENAME.txt"; 
String str="this is the string you will see inside the file"; 
      try { 
       FileOutputStream outputStream=openFileOutput(fileName,MODE_WORLD_READABLE); 
       OutputStreamWriter outputStreamWriter=new OutputStreamWriter(outputStream); 
       outputStreamWriter.write(str); 
       outputStreamWriter.flush(); 
       outputStreamWriter.close(); 
      } catch (FileNotFoundException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO: handle exception 
       e.printStackTrace(); 
      } 
+0

полностью проигнорировал этот литерал .. – Minato

0

Пожалуйста, удалите w.flush(); после w.write(str).

Поскольку запись выполняется не сразу из буфера, но когда буфер имеет достаточный объем данных или закрыт. вызов flush() в потоке удаляет все данные в нем независимо от того, написана ли она или нет.

 Смежные вопросы

  • Нет связанных вопросов^_^