Android 写入用户可读文件
我正在将值写入数据库,并停止它进行评估所需的时间。 现在,我想将这些时间写入一个易于访问的文件,如.txt,但我无法在手机上写入(互联网上的一些回答说,因为它是作为“媒体源”连接的,但当我断开连接时,我无法再连接到eclipse)。Android 写入用户可读文件,android,file,Android,File,我正在将值写入数据库,并停止它进行评估所需的时间。 现在,我想将这些时间写入一个易于访问的文件,如.txt,但我无法在手机上写入(互联网上的一些回答说,因为它是作为“媒体源”连接的,但当我断开连接时,我无法再连接到eclipse)。 因此,问题是:我如何编写一个文件,我可以简单地将其从手机复制到电脑,以获取数据进行分析。您可以使用以下功能,文本是您的内容: public void backUp(String text,String namefile) { File file
因此,问题是:我如何编写一个文件,我可以简单地将其从手机复制到电脑,以获取数据进行分析。您可以使用以下功能,
文本是您的内容:
public void backUp(String text,String namefile)
{
File file = new File(Environment.getExternalStorageDirectory()+"/yourdir/"+namefile+".txt");
if (!file.exists())
{
try
{
file.createNewFile();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try
{
//BufferedWriter for performance, true to set append to file flag
BufferedWriter buf = new BufferedWriter(new FileWriter(file, true));
buf.append(text);
buf.newLine();
buf.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
更新:
在使用上述功能之前,应先创建目录:
File yourdir = new File(Environment.getExternalStorageDirectory()+"/yourdir");
if(!yourdir.exists()){
yourdir.mkdir();
}
然后:
backUp("hello world", "test");
不要忘记此权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
这导致了所描述的问题:open失败:enoint(没有这样的文件或目录),当我使用“Environment.getExternalStorageState()”时,它说挂载了,当我断开连接时MTP eclipse找不到它…所以我将它改为:
file yourdir=new file(Environment.getExternalStorageDirectory()+“/yourdir”)
如果(!yourdir.exists()){
yourdir.mkdir();
}
文件文件=新文件(Environment.getExternalStorageDirectory()+“/yourdir/”+“test”+“.txt”)代码>
,错误消失。
但当我尝试使用
环境.getExternalStorage().getAbsolutePath()时,它返回/`storage/emulated/0作为路径。我觉得自己有点傻,但怎么回事?对不起,糟糕的格式化。。。不会说帮助有帮助:DIt是正确答案,只是需要重新启动手机,以便在“内部”存储上创建“外部”存储。。。或者这一次做得太愚蠢了。一个好方法是使用MediaScannerConnection.scan文件让用户可以立即更新所有内容。但现在还有一个问题:我只能在活动线程中执行此操作吗?我如何从另一个线程写入日期(我想“停止”我的数据线程生成新数据,这样如果写入文件速度变慢,事件队列中就不会丢失任何数据)?“我如何从另一个线程写入日期”。您需要创建AsyncTask或IntentService类,请执行以下操作: