FileWriter没有在Android中写入文件?

Mig*_*iaz 3 android filewriter

我正在尝试写入名为"filename.txt"的新文件,并在打开应用程序时写出"hi".我该怎么做?我在Eclipse中运行此代码,按F11,打开AVD,然后单击应用程序.我得到了"Hello World,appname!" 消息,但没有创建文件.

package com.paad.comparison;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Environment;
import android.widget.Toast;

public class ComparisonOfControlCreationActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
        String string1 = "Hey you";
        FileWriter fWriter;
        try{
            fWriter = new FileWriter("filename.txt", true);
            fWriter.write("hi");
            fWriter.flush();
            fWriter.close();
        } catch(Exception e) {
            e.printStackTrace();
        }

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:对于将来碰巧遇到此问题的任何人,请确保您的AndroidManifest.xml文件具有该行

< uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 没有<和你之间的空间

Foa*_*Guy 6

试试这样:

FileWriter fWriter;
File sdCardFile = new File(Environment.getExternalStorageDirectory() + " \filename.txt");
Log.d("TAG", sdCardFile.getPath()); //<-- check the log to make sure the path is correct.
try{
     fWriter = new FileWriter(sdCardFile, true);
     fWriter.write("hi");
     fWriter.flush();
     fWriter.close();
 }catch(Exception e){
          e.printStackTrace();
 }
Run Code Online (Sandbox Code Playgroud)