0

因此,我想保存任何用戶在EditText中寫入的內容,以便下次保存。這個完全相同的代碼適用於java項目,但與Android項目,它不起作用。將EditText中的文本保存到Android內部存儲

代碼如下。

PrintWriter out = new PrintWriter(「hi」);總是給出FileNotFoundException e。在java項目中,這段代碼PrintWriter out = new PrintWriter(「hi」);用名稱「hi」創建一個新文件,但android項目不會生成新文件,而是返回錯誤。它不會保存EditText中的字符串,以便在稍後再次打開應用程序時打開。

有沒有人有解決這個問題的辦法?

public void onCreate(blablabla) 
{blablabla 
    try { 
     FileReader reader = new FileReader ("hi"); 
     Scanner in = new Scanner(reader); 
     String line = in.nextLine(); 
     mEditText.setText(line); 
     in.close(); 


    } catch (FileNotFoundException e) { 
     mEditText.setText(""); 
     Toast.makeText(mContext, "null!!", Toast.LENGTH_SHORT).show(); 
    } 


    @Override  
protected void onDestroy() 
{   
    super.onDestroy();   
    // The activity is about to be destroyed. 
    try {       
     PrintWriter out = new PrintWriter("hi"); 
     out.write(mEditText.toString()); 
     out.close(); 
    } catch (FileNotFoundException e) { 
     Toast.makeText(mContext, "Can't save", Toast.LENGTH_SHORT).show(); 
    } 
} 
+0

import java.io.FileNotFoundException; import java.io.FileReader; import java.io.PrintWriter; import java.util.Scanner; 公共類AEF { \t \t 公共靜態無效的主要(字串[] args)拋出FileNotFoundException異常{ \t \t \t \t \t \t PrintWriter的OUT =新的PrintWriter( 「輸出」); \t \t out.write(「asdfafkdjnasdfasdf」); \t \t out.close(); \t \t \t \t \t 的FileReader \t讀者=新的FileReader( 「輸出」); \t \t \t 掃描器\t在新=掃描器(閱讀器); \t \t String line = in.nextLine(); \t \t System.out.println(line); \t \t \t \t \t \t \t \t \t \t \t \t \t} } 這個Java項目工作正常 – coolcool1994

+0

你讀過關於SharedPreferences? –

回答

相關問題