|
我按照JAVA的方法、按照网上查询的方法、按照书上的方法,写了三个版本了!但都不行!已经折腾两天了!请问到底是怎么回事呢??!谢谢了! (我没有SD卡,我是直接写在手机里的。我已经用Environment.getDataDirectory().toString();找到了路径,可即便往那个路径里写也不行。) package com.example.fcafileio;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.util.Scanner;
import org.apache.http.util.EncodingUtils;
import android.os.Bundle;
import android.os.Environment;
import android.widget.TextView;
import android.app.Activity;
import android.content.Context;
public class FCAFILEIO extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fcafileio);
String PATH = Environment.getDataDirectory().toString();
writefile3("fcafca.bin", "sadfasdfasd");
// final TextView txtfca = (TextView) findViewById(R.id.fcatext);
}
private void writefile1(File filefca, String content) {
try {
PrintWriter outputfca = new PrintWriter(filefca);
outputfca.print(content);
outputfca.flush();
outputfca.close();
} catch (Exception e) {
e.printStackTrace();
}
}
private void writefile2(File filefca, String content) {
try {
FileOutputStream outputfca = new FileOutputStream(filefca);
byte[] bytes = content.getBytes();
outputfca.write(bytes);
outputfca.flush();
outputfca.close();
} catch (Exception e) {
e.printStackTrace();
}
}
private void writefile3(String fileName, String message) {
try {
FileOutputStream fos = openFileOutput(fileName, MODE_APPEND);
PrintStream ps = new PrintStream(fos);
ps.println(message);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
|
|
|
writefile1
writefile2 writefile3 都是写文件的方法,可都不行! |
|
|
/data这一级目录不能直接操作吧?
WRITE_EXTERNAL_STORAGE要是没记错,只能操作 |
|
|
你的 写权限 加了没?
|
|
|
如果不是缓存文件,使用
this.getFilesDir(); 如果是缓存文件,使用 this.getCacheDir(); 上面两个接口, |
|
| 15分 |
权限加了吗?
<uses-permission android:name=”android.permission.MOUNT_UNMOUNT_FILESYSTEMS”/> <uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE”/> |
|
嗯,之前是没有加,但加了之后也还是不行啊。 |
|
|
是的,得到了该路径了,但就算往那里面写也不行。手机的文件浏览器根本搜不到。 |
|
|
手机的文件浏览器 一般是只能看到外部存储区的文件,除非你有root过了,否则是看不到/data下面的文件的。 |
|
| 25分 |
我用你的writefile3 这个函数是过了,是可以写成功的,你自己看看是不是哪里还有问题,另外因为你写的不是外部存储,所以 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 这两个权限不需要加应该也能写成功 |
谢谢了,我这边还是不行。我实验室其他同学也很奇怪。我今天回去安个SD卡试试吧。 |
|