import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;import android.app.Activity; import android.os.Bundle;public class FileTestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //创建输入输出流对象 FileOutputStream outfile = null; FileInputStream infile = null; try { //创建openFile的两个对象 openFileOutput()的两个参数 //第一个是文件名,第二个是属性,0代表只允许应用程序操作这个文件 outfile = this.openFileOutput("test.txt", 0); infile = this.openFileInput("test.txt"); } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } DataOutputStream dout = null ; try { //写文件 dout = new DataOutputStream(outfile ); dout.writeUTF("testtesttesttesttesttest"); dout.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } DataInputStream din = null; //读文件 din = new DataInputStream(infile); String result = null; try { result = din.readLine(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(result); } }用openFileOutput不需要加权限啊...
创建文件的时候,使用绝对路径,例如: File outfilepath = new File(Environment.getExternalStorageDirectory(),"/myfiles"); new File(outfilepath.getAbsolutePath(), outfileName);
if (!file.exists()) {
file.createNewFile();
}
FileOutputStream os = ctx.openFileOutput(file.getName(),
Context.MODE_WORLD_WRITEABLE);
byte[] bytes = new byte[512];
int i = -1;
while ((i = is.read(bytes)) > 0) {
os.write(bytes);
} os.close();
is.close();
String permission = "666"; try { String command = "chmod " + permission + " " + apkPath
+ "/" + destapkName;
Runtime runtime = Runtime.getRuntime();
runtime.exec(command);
} catch (IOException e) {
e.printStackTrace();
}
怀疑你的路径错误,不是权限的问题
请参考
http://ccsosnfs.iteye.com/blog/1390405
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;import android.app.Activity;
import android.os.Bundle;public class FileTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//创建输入输出流对象
FileOutputStream outfile = null;
FileInputStream infile = null;
try {
//创建openFile的两个对象 openFileOutput()的两个参数
//第一个是文件名,第二个是属性,0代表只允许应用程序操作这个文件
outfile = this.openFileOutput("test.txt", 0);
infile = this.openFileInput("test.txt");
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
DataOutputStream dout = null ;
try {
//写文件
dout = new DataOutputStream(outfile );
dout.writeUTF("testtesttesttesttesttest");
dout.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DataInputStream din = null;
//读文件
din = new DataInputStream(infile);
String result = null;
try {
result = din.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(result);
}
}用openFileOutput不需要加权限啊...
File outfilepath = new File(Environment.getExternalStorageDirectory(),"/myfiles");
new File(outfilepath.getAbsolutePath(), outfileName);
你好,我问的是在/data/data/packagename/files里边创建文件为何总是报错。不是说如何创建文件。
按你说的那样弄的。其实还是在/data/data操作文件的权限问题。
加参数Context.MODE_WORLD_WRITEABLE+Context.MODE_WORLD_READABLE+
Context.MODE_APPEND.
按你说的那样弄的。其实还是在/data/data操作文件的权限问题。
加参数Context.MODE_WORLD_WRITEABLE+Context.MODE_WORLD_READABLE+
Context.MODE_APPEND.请问这个加在那里?
主要看到一些人莫名其妙的回答问题感觉郁闷!很多次了。
按你说的那样弄的。其实还是在/data/data操作文件的权限问题。
加参数Context.MODE_WORLD_WRITEABLE+Context.MODE_WORLD_READABLE+
Context.MODE_APPEND.请问这个加在那里?怎么解决啊? 请教一下啊!!!