2013-03-06 73 views
1

我正在使用环境变量将一些数据写入外部存储。它工作正常。我想尝试写入内部存储。我使用以下代码时出现错误。在Android中使用getFilesdir写入文本文件

public class B{ 
    public void write(long l){ 
    File root = new File(getFilesDir(), "Traces"); 
    File gpxfile = new File(root, "Collection.txt"); 
    if(gpxfile.exists()){ 
    FileWriter writer = new FileWriter(gpxfile,true); 
    writer.append(Long.toString(l)); 
    writer.flush(); 
    writer.close(); 
     } 

我得到的错误是 '方法getFilesDir()是未定义的' 创建方法getFilesDir()。我试着分配上下文。喜欢的东西

context.getFilesDir() 

和定义

Context context = MainActivity();% in main activity from where I am calling this writefunction. 
+0

不知道你的错误是什么。该方法是getFilesDir()从前面的帖子我看到,我需要添加一个上下文的大写D – dymmeh 2013-03-06 20:39:30

+0

。我做到了。但不知道我做了什么错误 – ChanChow 2013-03-06 20:48:00

回答

0

尝试添加以下到您的清单文件:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

,或者它可能是

<uses-permission android:name="android.permission.WRITE_INTERNAL_STROAGE"/> 

你可以检查他们俩。

+0

我刚刚重读你的问题,并意识到你会想要第一个权限,而不是第二个。我的坏大声笑。 – TronicZomB 2013-03-06 21:08:41

+0

感谢您的回复。但我有权限设置 – ChanChow 2013-03-06 21:12:52

+0

嗯好吧,这样的事情是什么:'BufferedWriter out = new BufferedWriter(new FileWriter(getFilesDir()+ File.separator + fileName.getText()。toString()+“。txt”)) ; out.write(text.getText()的toString()); \t \t \t \t \t out.close();' – TronicZomB 2013-03-06 21:15:30