我无法找到我的应用在Android中创建的文件的位置

时间:2017-06-02 17:50:12

标签: android xml file

你好我的代码有两个按钮保存和读取当我按下保存它将数据保存到SampleFile.xml时,当我按下加载时,xml文件的内容显示在设备的屏幕上。我的应用程序工作,但当我试图找到SampleFile.xml时,无处可去。我尝试将我的应用程序用于模拟器和物理设备

public class MainActivity extends Activity {
    EditText inputText;
    TextView response;
    Button saveButton,readButton;

    private String filename = "SampleFile.xml";
    private String filepath = "MyFileStorage";
    File myExternalFile;
    String myData = "<question> "+ Test.s +" <qusetion>\n";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

       inputText = (EditText) findViewById(R.id.myInputText);
        response = (TextView) findViewById(R.id.response);



        saveButton =
                (Button) findViewById(R.id.saveExternalStorage);
        saveButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    FileOutputStream fos = new   FileOutputStream(myExternalFile);
                    fos.write(myData.toString().getBytes());
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                inputText.setText("");
                response.setText("SampleFile.xml saved to External   Storage..");
            }
        });

       readButton = (Button) findViewById(R.id.getExternalStorage);
        readButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    FileInputStream fis = new  FileInputStream(myExternalFile);
                    DataInputStream in = new DataInputStream(fis);
                    BufferedReader br =
                            new BufferedReader(new  InputStreamReader(in));
                    String strLine;
                    while ((strLine = br.readLine()) != null) {
                        myData = myData + strLine;
                    }
                    in.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                inputText.setText(myData);
                response.setText("SampleFile.xml data retrieved from External Storage...");
            }
        });

       if (!isExternalStorageAvailable() || isExternalStorageReadOnly()) {
            saveButton.setEnabled(false);
        }
        else {
            myExternalFile = new File(getExternalFilesDir(filepath), filename);
        }


     }
        private static boolean isExternalStorageReadOnly() {
        String extStorageState = Environment.getExternalStorageState();
        if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(extStorageState))     {
            return true;
        }
        return false;
    }

      private static boolean isExternalStorageAvailable() {
        String extStorageState = Environment.getExternalStorageState();
        if (Environment.MEDIA_MOUNTED.equals(extStorageState)) {
            return true;
        }
        return false;
    }
}

1 个答案:

答案 0 :(得分:-1)

尝试在Android / data / data / your_package / MyFileStorage / SampleFile.xml中找到您的文件