android文件读写权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> //写数据权限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>//创建/删除文件的权限
文件读取:
FileInputStream fis=new FileInputStream("g:/test.txt");//文件路径和文件名
int s=fis.available(); //int available() 返回输入流中可以读取的字节数
byte[] data=new byte[s]; //字节数组用于存储读取的数据
fis.read(data); //从输入流中的当前位置连续读入多个字节保存在数组中,并返回所读取的字节数
fis.close(); //关闭输入流
//文件
File myfile=new File("g:/test.txt");
long ss=myfile.length();//long length() 返回文件长度
//未知文件大小读取
FileOutputStream fos=new FileOutputStream("g:/test1.txt");
byte[] b=new byte[1024];
int length=0;
while ((length = fis.read(b, 0, b.length)) > 0)
{
fos.write(data, 0, length);
fos.flush();
}
写数据:
FileOutputStream fos=new FileOutputStream("g:/test1.txt");//没有文件会自动创建
String s="hello";
byte[] b=s.getBytes();
fos.write(b); //写进数据
fos.close();
//追加内容
FileOutputStream foss=new FileOutputStream("g:/test1.txt",true);//第二个参数为true,则是在末尾追加数据内容
read():
public int read(byte[], int off, int len);
将输入流中最多 len 个数据字节读入 byte 数组。尝试读取 len 个字节,但读取的字节也可能小于该值。以整数形式返回实际读取的字节数,将读取的第一个字节存储在元素 b[off] 中,下一个存储在 b[off+1] 中,依次类推。
write():
void write(byte[] b, int off, int len)
将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。