2013-04-09 83 views
0

我有一个android应用程序,我需要在文本文件中写入一些字符串值。我有编码写在一个文本文件。但我不知道我要创造我的文字file.Please参考我下面的代码,在哪个路径我需要把文本文件写在android

FileOutputStream fOut = null; 

OutputStreamWriter osw = null; 

try{ 

fOut = openFileOutput(“public.dat”, Context.MODE_PRIVATE); 

osw = new OutputStreamWriter(fOut); 

osw.write(“TEXT”); 

osw.close(); 

fOut.close(); 

}catch(Exception e){ 

e.printStackTrace(System.err); 

} 

请通知我哪条路我应该创建文本文件。

+1

http://www.anddev.org/working_with_files-t115.html – RobinHood 2013-04-09 06:47:30

+0

你需要告诉我们你的文本文件应该是什么样的,然后我们才能告诉你在哪里存储它。 – 2013-04-09 06:48:36

+0

@类:我打算在文本文件中写入一些数据。如果我把我的文本文件放在资产文件夹中,我认为它不可能写入它,那我需要在哪个文件夹中放置我的文本文件。 – shivcena 2013-04-09 06:52:08

回答

1

如果你想在本地存储数据,您的应用程序,设备的内部文件系统(而不是在外部SD卡)上,你应该总是考虑SharedPreferences,这是在默认情况下,私密文件在私有存储设备您的应用程序的空间,方便访问。

SharedPreferences非常适合键/值对,但不适合某些数据格式。所以,如果你有不同的需求,Context类提供了各种各样的方法。请注意,ActivityApplication对象都是Context,因此您始终可以访问这些对象。请参考文档:

也有方法,以获得在外部SD卡安装在特定的设备上,用于临时文件的路径,等

1

最好的方法是在sdcard的应用程序目录中创建文件。

fOut = openFileOutput(Environment.getExternalStorageDirectory().getAbsolutePath()+“/yourAppFolder/public.dat”, Context.MODE_PRIVATE); 
+1

这是非常糟糕的建议。首先,硬编码路径是不可行的。其次,原来的海报甚至没有说过他是否希望他的数据是私人的还是公共的,作为备份或应用状态等。 – 2013-04-09 06:56:44

+0

@Adnan:是否有其他路径可用,除了SD卡 – shivcena 2013-04-09 07:00:07

+0

@sivanesan我不认为你可以在asset/Raw文件夹中创建/编辑文件,因为它是打包的(.apk),不能扩展大小。所以你必须在SD卡上创建文件。 – 2013-04-09 07:10:45

0

我认为这不是一个最佳的最佳解决方案,但它是值得充分的,如果它正在工作..

相关问题