2012-02-24 112 views
-1

當用戶點擊保存按鈕時應該創建一個文本文件,並且內容應該存儲在文件中,但是當我這樣做時,我的應用程序就會崩潰。我想創建一個文本文件

public class newfile extends Activity { 
    public EditText textBox,textbox2; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.newfile); 
     Button save = (Button) findViewById(R.id.btnSave); 
     save.setOnClickListener(new View.OnClickListener(){ 

      public void onClick(View v) { 
       textBox = (EditText) findViewById(R.id.txtText1); 
       textbox2 = (EditText) findViewById(R.id.fname); 

       String FILENAME = textbox2.getText().toString(); 
       String value = textBox.getText().toString(); 
       File("R.raw",value); 

       FileOutputStream fos=null ; 
       fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
       try { 
        fos.write(((String) value).getBytes()); 
        fos.flush(); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
       try { 
        fos.close(); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       }  
      } 

      private void File(String string, String value) { 
       // TODO Auto-generated method stub 
      } 

      private FileOutputStream openFileOutput(String fILENAME, 
        int modePrivate) { 
       // TODO Auto-generated method stub 
       return null; 
      } 
     }); 
    } 
} 

回答

2

openFileOutput返回null?梅比這就是爲什麼你的應用程序崩潰?

1

刪除這條線......

File("R.raw",value); 

刪除這些方法...

private void File(String string, String value) { 
    // TODO Auto-generated method stub 

} 

private FileOutputStream openFileOutput(String fILENAME, 
     int modePrivate) { 
    // TODO Auto-generated method stub 
    return null; 
} 

環繞這條線......

fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 

...與try/catch塊是這樣的...

try { 
    fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
} 
+0

謝謝IHAVE做了上述變化,但我仍然得到月食「這種發射被配置爲打開調試角度來看,當它掛起」的對話框,我Wnt信號來創建文件在用戶輸入文件@ filedata的名稱時,他點擊保存按鈕,該按鈕應該通過從xtboxt獲取文件名來創建文件。我想將文件存儲在我創建的res/raw文件夾中,請幫助我。 – 2012-02-25 08:09:45

+0

您不能在運行時修改'/ res'文件夾的任何子文件夾(或它們包含的任何文件)。 '/ res'文件夾用於保存在構建時打包的東西,基本上是'只讀'的。 – Squonk 2012-02-25 08:56:11

+0

MisterSquonk,我該如何解決這個問題 – 2012-02-25 10:24:55

相關問題