2015-10-20 51 views
0

此OutputStream的代码波纹管可以工作..但plzz告诉我,我在哪里可以做一个文本文件..我已经把它放在我的桌面上..此OutputStream的简化版,代码保存串入TXT文件

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 ..请删除'w^.flush();''w.write()之后'' – Minato

+0

其不工作Brother #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()会删除其中的所有数据,无论它是否写入。