精华内容
下载资源
问答
  • android存取数据方式文件、SharedPreferences、SQLite 数据库、Content provider 文件流: 使用java IO流对文件进行读写操作,文件权限默认。 指定文件权限写入:mode:文件权限MODE_PRIVATE的文件是应用...

    android存取数据方式:文件、SharedPreferences、SQLite 数据库、Content provider

    文件流:

    使用java IO流对文件进行读写操作,文件权限默认。

    指定文件权限写入:mode:文件权限MODE_PRIVATE的文件是应用程序私有的,MODE_WORLD_READABLE则所有应用程序都可以访问的, MODE_WORLD_WRITEABLE所有应用程序都可以写,mode_APPEND则是如果要创建的文件存在则新写入的数据不会覆盖以前的数据。

    openFileOutput(name, mode);
    openFileInput(name);

    路径相关请查看:http://blog.csdn.net/liang5630/article/details/41150677

    SharedPreferences:

    它是一个轻量级应用程序内部轻量级的存储方案,特别适合用于保存软件配置参数,比如boolean,int,float,long,String等数据.使用SharedPreferences保存数据,其实质是采用了xml文件存放数据,路径为:/data/data/<package name>/shared_prefs.

    获取SharedPreferences的两种方式:

    1 调用Context对象的getSharedPreferences()方法

    2 调用Activity对象的getPreferences()方法,文件名:当前Activity名字.xml

    两种方式的区别:

    调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.

    调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.

    SharedPreferences的四种操作模式:

    Context.MODE_PRIVATE

    Context.MODE_APPEND

    Context.MODE_WORLD_READABLE

    Context.MODE_WORLD_WRITEABLE

     

    Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容

    Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.

    Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.

    MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.

    MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.

    MODE_WORLD_READABLE+MODE_WORLD_WRITEABLE   可读可写

    写入方法:

    SharedPreferences sp=getSharedPreferences("aaa.txt", Context.MODE_PRIVATE);
    Editor editor=sp.edit();
    editor.putString("name", "liang");
    editor.commit();

    读取方法:

    SharedPreferences sp=getSharedPreferences("aaa.txt", Context.MODE_PRIVATE);
    sp.getString("name", "读取不到返回的默认值");



    展开全文
  • 顺序存取、直接存取(又称...在请求对某个文件进行存取时要指出起始存取位置。 综上:顺序存取不必给出具体位置,随机存取要给出具体的其实存取位置。 转载于:https://www.cnblogs.com/luo841997665/p/4670676.html...

    顺序存取、直接存取(又称随机存取)

    顺序存取是指后一次存取总是在前一次存取的基础上进行的,所以顺序存取不必给出具体的存取位置。

    随机存取是用户以任意次序请求某个记录。在请求对某个文件进行存取时要指出起始存取位置。

    综上:顺序存取不必给出具体位置,随机存取要给出具体的其实存取位置。

    转载于:https://www.cnblogs.com/luo841997665/p/4670676.html

    展开全文
  • 存取控制 1.自主存取控制 同一用户对不同的数据对象不同的存取权限 不同的用户对同一对象也不同的权限 用户还可将其拥有的存取权限转授给其他用户 可能存在数据的“无意泄露” 原因:这种机制仅仅通过对...

    数据库安全性

    数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏 。

    数据库的不安全因素

    1.非授权用户对数据库的恶意存取和破坏

    2.数据库中重要或敏感的数据被泄露

    3.安全环境的脆弱性

    数据库安全性控制

    存取控制

    1.自主存取控制

    • 同一用户对不同的数据对象有不同的存取权限
    • 不同的用户对同一对象也有不同的权限
    • 用户还可将其拥有的存取权限转授给其他用户

    可能存在数据的“无意泄露”

        原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记

        解决:对系统控制下的所有主客体实施强制存取控制策略

    1.1通过GRANT (授予)语句和REVOKE(收回) 语句实现

    GRANT语句的一般格式:    (不允许循环授权)    

    GRANT <权限>[,<权限>]...        

    ON <对象类型> <对象名>[,<对象类型> <对象名>]…        

    TO <用户>[,<用户>]...        

    [WITH GRANT OPTION];     ###指定:可以再授予 没有指定:不能传播

    eg:

    GRANT  ALL PRIVILIGES      ON TABLE Student,Course    TO U2,U3; #把对Student表和Course表的全部权限授予用户U2和U3

    GRANT SELECT      ON TABLE SC       TO PUBLIC; #把对表SC的查询权限授予所有用户

    对属性列的授权时必须明确指出相应属性列名:

    GRANT   UPDATE(Sno), SELECT         ON TABLE Student         TO U4;

    REVOKE语句一般格式 :(由数据库管理员或其他授权者用REVOKE语句收回)

    REVOKE <权限>[,<权限>]...    

    ON <对象类型> <对象名>[,<对象类型><对象名>]…    

    FROM <用户>[,<用户>]...[CASCADE | RESTRICT];

    eg:

    REVOKE SELECT         ON TABLE SC         FROM PUBLIC; #收回所有用户对表SC的查询权限

     

    1.2创建新用户时授权:只有系统的超级用户才有权创建一个新的数据库用户

    CREATE  USER  <username>              

    [WITH][DBA|RESOURCE|CONNECT];

    语句说明

    • 新创建的数据库用户有三种权限:CONNECT、RESOURCE和DBA 如没有指定创建的新用户的权限,默认该用户拥有CONNECT权限。
    • 拥有CONNECT权限的用户不能创建新用户,不能创建模式,也不能创建基本表,只能登录数据库
    • 拥有RESOURCE权限的用户能创建基本表和视图,成为所创建对象的属主。但不能创建模式,不能创建新的用户
    • 拥有DBA权限的用户是系统中的超级用户,可以创建新的用户、创建模式、创建基本表和视图等;DBA拥有对所有数据库对象的存取权限,还可以把这些权限授予一般用户

    拥有的权限

    可否执行的操作

    CREATE USER

    CREATE SCHEMA

    CREATE TABLE

    登录数据库 ,执行数据查询和操纵

    DBA

    可以

    可以

    可以

    可以

    RESOURCE

    不可以

    不可以

    不可以

    不可以

    CONNECT

    不可以

    不可以

    不可以

    可以,但必须拥有相应权限

    1.3数据库角色

    • 角色是权限的集合
    • 可以为一组具有相同权限的用户创建一个角色
    • 简化授权的过程

    1.角色的创建

    CREATE  ROLE  <角色名> 、

    2.给角色授权  

    GRANT  <权限>[,<权限>]…  

    ON <对象类型>对象名    

    TO <角色>[,<角色>]…

    3.将一个角色授予其他的角色或用户

    GRANT  <角色1>[,<角色2>]…

    TO  <角色3>[,<用户1>]…

    [WITH ADMIN OPTION]

    4.角色权限的收回

    REVOKE <权限>[,<权限>]…

    ON <对象类型> <对象名>

    FROM <角色>[,<角色>]…

    2.强制存取控制        (不仅对用户,还对数据)

    • 每一个数据对象被标以一定的密级
    • 每一个用户也被授予某一个级别的许可证
    • 对于任意一个对象,只有具有合法许可证的用户才可以存取

     

    在强制存取控制中,数据库管理系统所管理的全部实体被分为主体和客体两大类

    1.  主体是系统中的活动实体  

                         数据库管理系统所管理的实际用户  

                         代表用户的各进程

      2.  客体是系统中的被动实体,受主体操纵  

                        文件、基本表、索引、视图

    对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)  

    敏感度标记分成若干级别

    • 绝密(Top Secret,TS)
    • 机密(Secret,S)
    • 可信(Confidential,C)
    • 公开(Public,P)
    • TS>=S>=C>=P

    主体的敏感度标记称为许可证级别(Clearance Level)

    客体的敏感度标记称为密级(Classification Level)

     强制存取控制规则  

    (1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体  

    (2)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体

     

    视图机制

    把要保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护

    间接地实现支持存取谓词的用户权限定义

     

     

     

    展开全文
  • C#以二进制方式存取文件

    千次阅读 2013-07-17 13:44:01
    昨天讨论了怎么把内存对象序列化然后以二进制文件的形式储存和读取。...通过看前辈写的一些C++/C的二进制文件读取的代码后我发现实际上C#在这方面处理得更加聪明一些,在C/C++中主要是通过内存位置精确控制读取,而在C#

        昨天讨论了怎么把内存对象序列化然后以二进制文件的形式储存和读取。但是实际编程应用中,不是所有情况下都需要将整个对象写到文件里,如果我们只想要写部分数据(比如一个字符串或者一个数字等)怎么办呢?这时就只需用到System.IO名称空间里的BinaryWriterBinaryReader类。

        研究过前辈写的一些C++/C的二进制文件读取的代码后,我发现C#在二进制文件读写这方面处理得更加聪明一些。C/C++主要是通过内存位置精确控制读取对应位,而在C#中实际上你不必考虑这些,只需要知道你存入数据的顺序,读取时按照存入顺序依次读取就可以了。比如说你用BinaryWriter对象的void Write(int i)函数存入了一个int32位的数据,再用void Write(string str)存入了一个字符串,再用void Write(double d)存入了一个双精度浮点数,在读取的时候,只需要依次用BinaryReader对象的int ReadInt32()、string ReadString()、double ReadDouble()依次读取数据流就可以获得intstingdouble三个类型的数值。至于数据流从哪一位开始读到哪一位结束都不用你关心,都交给C#自己去判断吧。当然,存取顺序不一致会导致读出意外的值或者什么都读不出来,或者超出数据流范围。

        另外如果你坚持像C++/C那样自己控制读写位置的话,也可以通过Streamlong Seek(int Offset,SeekOrigin origin)函数来设置。

    以下示例代码(只给出了关键代码):

            string path = Application.StartupPath + "\\data.db";//二进制文件路径
            private void button1_Click(object sender, EventArgs e)//存为文件
            {
                Person per = new Person() { name = "文文lele", age = 12, height = 1.50 };//实例化一个数据
    
                Stream st = new FileStream(path, FileMode.Create);
                BinaryWriter bw = new BinaryWriter(st);
                bw.Write(per.age);//先int
                bw.Write(per.name);//再string
                bw.Write(per.height);//最后double
                bw.Close();
                st.Close();
            }
    
            private void button2_Click(object sender, EventArgs e)//读取文件
            {
                Stream st = new FileStream(path, FileMode.Open);
                BinaryReader br = new BinaryReader(st);
    
                Person pr = new Person();//一个未被具体指明的
    
                pr.age = br.ReadInt32();//先int
                pr.name = br.ReadString();//再string
                pr.height = br.ReadDouble();//最后double
                textBox1.Text = pr.ToString();//最后文本框会显示:名字:文文lele\r\n年龄:12\r\n身高1.50
                br.Close();
                st.Close();
            }
        }
    
        class Person
        {
            public string name { set; get; }
            public int age { set; get; }
            public double height { set; get; }
            public override string ToString()
            {
                return "名字:" + name.ToString() + "\r\n年龄:" + age.ToString() + "\r\n身高:" + height.ToString();
            }
        }

    如果想要使用Stream的long Seek(int Offset,SeekOrigin origin)函数来设置从哪开始读,则读取的代码应该改为如下:

            private void button2_Click(object sender, EventArgs e))//读取文件
            {
                Stream st = new FileStream(path, FileMode.Open);
                BinaryReader br = new BinaryReader(st);
    
                Person pr = new Person();//一个未具体化的例子
    
                st.Seek(4, SeekOrigin.Begin);//因为二进制文件中存储的第一个是32位的年龄(整型默认32位),占4字节,所以名字从第4字节开始(8位为1字节,32位即4字节)
                pr.name = br.ReadString();
    
                st.Seek(0, SeekOrigin.Begin);//年龄记录在开始处
                pr.age = br.ReadInt32();
    
                st.Seek(-8, SeekOrigin.End);//身高是64位的双精度浮点型,占8字节,放在最后,所以从后往前数8个字节
                pr.height = br.ReadDouble();
                textBox1.Text = pr.ToString();//最后文本框会显示:名字:文文lele\r\n年龄:12\r\n身高1.50和第一种方法没有变
                br.Close();
                st.Close();
            }

    两种读法或得相同的效果,这里为了使string类型长度固定可以放在最后,也可以使用StringBuilder建立指定长度字符串。

     

    展开全文
  • 10. 存取控制

    千次阅读 2007-03-28 04:45:00
    Microsoft Windows 2000提供了广泛且具高度...存取控制简介 一般来说,当人们提到「Windows安全性」,即是指实作Windows的 存取控制 部份。存取控制可以被解释为指派及强制可以或不可以在安全对象上执行某些动作。Wi
  • 文件存取的四种方法

    千次阅读 2016-02-13 23:55:12
    文件存储的四种方法: 1、 plist存储 2、 偏好设置存储 preference ...#pragma mark - 文件存取笔记- (void)writeFileNote{ //文件存储 enum NSDocumentationDirectory; NSCachesDirectory;
  • 文件的结构及存取方法

    千次阅读 2016-10-11 12:42:22
    文件的组织形式是文件的结构,从不同的角度分析文件有不同的结构形式:逻辑结构和物理结构。从用户角度出发,研究文件的抽象组织方式而定义的文件组织形式为文件的逻辑结构;从系统的角度出发,研究文件的物理组织...
  • 目录实现之文件的按名存取

    千次阅读 2016-10-19 15:06:37
    为了实现用户对文件的按名存取: -------->系统必须首先利用用户提供的文件名 ----------->对文件目录进行查询 ------------->找出该文件文件控制块FCB --------------->(对UNIX系统即要找出该文件的索引节点,...
  • Domino数据库存取控制列表(ACL)

    千次阅读 2011-03-02 13:51:00
    每个数据库都自己的存取控制列表(Access Control List, 以下简称ACL)。打开一个数据库,选择菜单“文件”-“数据库”-“存取控制”,就可以看到该数据库的ACL。ACL分为四个页面:基本、角色、日志和高级。以下...
  • Domino数据库存取控制列表(ACL)基本知识 内容提要 在Domino中,数据库的存取控制列表是Domino安全性的重要组成部分,也是决定每个用户能否访问数据库的主要设置。本文详述了存取控制列表的各项设置,以帮助用户更...
  • 数据库与文件进行数据存储有哪些区别? 其区别在于: (1)文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据。 (2)文件系统中的程序和数据一定的联系,数据库系统中的程序和数据分离。 (3)...
  • Microsoft Windows 2000提供了广泛且...存取控制简介 一般来说,当人们提到「Windows安全性」,即是指实作Windows的 存取控制 部份。存取控制可以被解释为指派及强制可以或不可以在安全对象上执行某些动作。Windows
  • domino数据库存取控制列表(acl)基本知识_lotus notes 内容提要在Domino中,数据库的存取控制列表是Domino安全性的重要组成部分,也是决定每个用户能否访问数据库的主要设置。本文详述了存取控制列表的各项设置,...
  • Linux常用C函数-文件权限控制

    千次阅读 2012-10-09 11:12:08
    文件权限控制篇 access, alphasort, chdir, chmod, chown, chroot, closedir, fchdir, fchmod, fchown, fstat, ftruncate, getcwd, link, lstat, opendir, readdir, readlink, ...
  • 实现目的,主要是将ntko ...令人奇怪的是不管怎么弄,ntko总是会跳出文件存取错误的窗口,数据流postman看过了没问题,路径后台显示已经访问成功了。 解决方案: response.addHeader("Content-Disposition",...
  • (2) 文件系统中的程序和数据一定的联系,  数据库系统中的程序和数据分离。 (3) 文件系统用操作系统中的存取方法对数据进行管理,  数据库系统用DBMS统一管理和控制数据。 (4)文件系统实现以文件为单位的...
  • 存取控制中断(Broken Access Control) 在网站安全中,访问控制意味着根据访问者的需求限制访问者可以访问的部分或页面。 例如,如果您拥有一家电子商务商店,则可能需要访问管理面板才能添加新产品或为即将到来的...
  • 为了防止文件共享可能会导致文件被...其中,口令保护和加密保护是为了防止用户文件被他人存取或窃取,而访问控制则用于控制用户对文件的访问方式。 访问类型 对文件的保护可以从限制对文件的访问类型中出发。可...
  • 文件保护的概念

    千次阅读 多人点赞 2016-10-17 14:02:02
    文件保护的概念 为了防止文件共享可能会导致文件被破坏或者未经核准的用户修改文件文件系统必须控制用户对文件存取...控制用户对文件的访问方式–rwx:访问控制访问控制其中之一的策略是:在Linux下面我们非常熟悉
  • U盘常用文件系统比较

    千次阅读 2012-02-02 15:42:19
    需要重新格式化u盘为NTFS格式,但发现居然木NTFS选项,多了一个exFAT文件系统选项,这个还是头一次见,于是查了一下资料。现把几种U盘常用文件系统做一下归纳比较。本文只介绍windows操作系统下文件系统,linux...
  • 1、什么是文件目录:一种特殊的文件,是结构的文件,如上图的表格,用于记录各个文件的属性;最主要的属性是:文件名和物理地址的映射,从而实现按名存取 2、什么是FCB:当你建立一个目录或者文件时,会在文件目录...
  • linux下常用文件传输命令

    万次阅读 2013-10-23 14:26:25
    因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的...rcp不是一种安全的的传输文件方式,rcp通过rsh(rsh见下面)来执行远程命令,要使用rcp必须经过一些配置,现在rcp已经被scp取代了,常用scp来
  • HDFS基本原理及数据存取实战

    万次阅读 2016-06-10 11:58:01
    本文主要介绍了hdfs的基本原理、hdfs基本操作、hdfs的读取数据流程、namenode工作...Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。HDFS体系结构中两类节点,一类
  • VC中文件操作的几种方式(1,2)

    千次阅读 2009-08-28 10:06:00
    第6章 使用文件存取对象文件可以用来存储一张《清明上河图》,一曲《春江花月夜》,当然也可以存储一部《红楼梦》,文件的内容依赖于应用程序来解释。几乎所有的操作系统都通过文件的界面允许用户保存、管理数据。...
  • (3)自动存取控制方法—DAC: Discretionary Access Control 通过 SQL 的 GRANT语句和 REVOKE语句实现 用户权限组成 数据对象 操作类型 定义用户存取权限:定义用户可以在哪些数据库对象上进行哪些类型的操作 定义...
  • linux的常用文件系统格式

    万次阅读 2011-07-20 16:16:35
    在Linux系统中,每个分区都是一个文件系统,都自己的目录层次结构。Linux的最重要特征之一就是支持多种文件系统,这样它更加灵活,并可以和许多其它种操作系统共存。Virtual File System(虚拟文件系统)使得Linux...
  • C语言中关于文件操作的常用函数

    千次阅读 2007-03-30 15:51:00
    C语言文件操作C语言文件1,两种文件存取方式(输入,输出方式)顺序存取直接存取2,数据的两种存放形式文本文件二进制文件 文件指针定义文件类型指针变量的一般形式:FILE *指针变量名;例如:FILE *fp1,*fp2; 打开文件在...
  • U盘和SD卡文件管理控制芯片CH376介绍

    千次阅读 2012-11-18 22:59:14
    CH376 是文件管理控制芯片,用于单片机系统读写U 盘或者SD 卡中的文件。  CH376 支持USB 设备方式和USB 主机方式,并且内置了USB 通讯协议的基本固件,内置了处理Mass-Storage海量存储设备的专用通讯协议...
  • Linux常用命令之权限控制chmod、chown

    千次阅读 2019-03-21 19:22:14
    只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 163,181
精华内容 65,272
关键字:

常用的文件存取控制方式有哪些