安装文件的Android FileOutputStream

时间:2015-07-30 14:19:45

标签: android file save

这里我如何将字节写入文件。我正在使用FileOutputStream

    private final Handler handler = new Handler(){
            @Override
            public void handleMessage(Message msg) {
                FragmentActivity activity = getActivity();
                        byte[] readBuffer = (byte[]) msg.obj;
                        FileOutputStream out = null;
                        try {
                            out = new FileOutputStream("myFile.xml");
                            out.write(readBuffer);
                            out.close();
                        } catch (FileNotFoundException e) {
                            e.printStackTrace();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
           }
}

现在我想打开那个文件,所以我需要有该文件的路径。那么我需要打开那个文件呢?

编辑:

这是我从文件中读取的内容,但我看不到任何内容......

BufferedReader reader = null;
                    FileInputStream s = null;
                    try {
                        s = new FileInputStream("mano.xml");
                        reader = new BufferedReader(new InputStreamReader(s));

                        String line = reader.readLine();
                        Log.d(getTag(), line);
                        while (line != null) {
                            Log.d(getTag(), line);
                            line = reader.readLine();
                        }
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }

3 个答案:

答案 0 :(得分:3)

我建议将其用于写作:

OutputStream out = new FileOutputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/yourfilename");

所以要阅读位置:

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+transaction.getUniqueId()+".pdf");

阅读路径:

file.getAbsolutePath();

答案 1 :(得分:0)

如何在开发人员指南中报告,您必须指定要保存文件的位置。您可以选择:

  1. 将文件保存在内部存储中:

    String filename = "myfile";
    String string = "Hello world!";
    FileOutputStream outputStream;
    
    try {
      outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
      outputStream.write(string.getBytes());
      outputStream.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
    
  2. 或者在第二个实例中,您可以将文件保存在外部存储中:

    // Checks if external storage is available to at least read
    public boolean isExternalStorageReadable() {
      String state = Environment.getExternalStorageState();
      if (Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
        return true;
      }
      return false;
    }
    
  3. 请记住设置权限!!!!

    这里有整个文档:Documentation

答案 2 :(得分:0)

您的文件保存在路径/Data/Data/Your package Name/files/myFile.xml中 您可以使用this.getFileDir()方法获取应用程序上文件文件夹的路径。

因此请使用this.getFileDir() + "myFile.xml"来读取文件。