Problem Writing Files problem in Android Emulator
我正在尝试使用以下代码将一些简单数据写入外部存储。我错过了一些东西,但不确定是什么。谢谢
罗布
公共类考勤卡扩展活动{/**在首次创建活动时调用。*/@重写public void oncreate(bundle savedinstanceState){super.oncreate(保存的状态);setContentView(r.layout.main);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | final Button button = (Button) findViewById(R.id.Button01); final EditText edittext = (EditText) findViewById(R.id.EditText01); final EditText edittext1 = (EditText)findViewById(R.id.EditText02); final EditText edittext2 = (EditText)findViewById(R.id.EditText03); final EditText edittext3 = (EditText)findViewById(R.id.EditText04); final String inputString = edittext +"/n" + edittext1 +"/n"+ edittext2 +"/n" + edittext3; button.setOnClickListener(new OnClickListener() { public void onClick(View v) { //Do it CreateFile(inputString); //Let them know it Toast.makeText(TimeCard.this,"You are Clocked In", Toast.LENGTH_LONG).show(); } }); } //Write to SD Card |
公共void createfile(string inputstring){
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | File SDCard = Environment.getExternalStorageDirectory(); String FILENAME = SDCard +"/time_card.txt"; FileOutputStream fos = null; try { fos = openFileOutput(FILENAME, Context.MODE_WORLD_READABLE); } catch (FileNotFoundException e) { e.printStackTrace(); } try { fos.write(InputString.getBytes()); } catch (IOException e) { e.printStackTrace(); } try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } |
}
我尝试运行您的代码,错误是由您使用
1 |
这就为我指明了这个问题的答案,这也可能解决你的问题:
Context.openFileOutput is meant to
be used for creating files private to
your application. They go in your
app's private data directory. You
supply a name, not a path
OpenFileOutput的文档还指出了有关函数名参数的信息:
The name of the file to open; can not
contain path separators.
对于以后的参考,当您遇到这样的问题时,学习如何使用logcat等可用工具是非常重要的。如果没有他们,你很难弄清楚是什么问题。所以我建议你多读一些关于如何做到这一点的文章。
当你没有显示出你得到了什么样的错误信息时,很难说清楚。但我的第一个猜测是,您忘记在androidmanifest.xml文件中包含