这里我如何将字节写入文件。我正在使用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();
}
答案 0 :(得分:3)
我建议将其用于写作:
OutputStream out = new FileOutputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/yourfilename");
所以要阅读位置:
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+transaction.getUniqueId()+".pdf");
阅读路径:
file.getAbsolutePath();
答案 1 :(得分:0)
如何在开发人员指南中报告,您必须指定要保存文件的位置。您可以选择:
将文件保存在内部存储中:
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();
}
或者在第二个实例中,您可以将文件保存在外部存储中:
// 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;
}
请记住设置权限!!!!
这里有整个文档:Documentation
答案 2 :(得分:0)
您的文件保存在路径/Data/Data/Your package Name/files/myFile.xml
中
您可以使用this.getFileDir()
方法获取应用程序上文件文件夹的路径。
因此请使用this.getFileDir() + "myFile.xml"
来读取文件。