开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 16873|回复: 5
收起左侧

[其他教程] 【火山教程】文件操作实例讲解(Java基本类)

[复制链接]
结帖率:94% (66/70)
发表于 2018-9-3 14:16:15 | 显示全部楼层 |阅读模式   四川省成都市
本帖最后由 创世魂 于 2018-12-25 09:52 编辑

文件操作实例讲解(建议依次仔细观看)

java基本类说明:在安卓中有两种类,一个是基于java的,例如:文本操作属于“java.lang.String”   (严格来说这个叫包名)
另外一种是安卓类,例如:android.***** (严格来说这个也叫包名)
作者:创世魂

● 文件操作准备工作


本类需要设计一个如下图所示的APP界面。
从上到下依次是“编辑框1”“编辑框2”“按钮1”“图片框1”
不会“设计界面”的请观看文本操作实例
本类同样需要"查看帮助",如果不会请看文本操作实例


如下图:
我们右键“窗口”选择“添加虚拟方法”,打开“启动类”窗口的所有的“窗口事件”


如下图:
打开后选择“通知_被创建”,点击“添加”


如下图:
点击后出现下图的“通知_被创建”方法。
1.创建一个“文件名类”的局部变量(名称随意),注意参考属性不要忘记。
2.利用“取外部存储空间根目录”的方法,获取到存储卡的“文件名类”,并且赋值给定义的“文件名类”变量。
3.用定义的“变量”的取文件名方法,把“文件名”类转换成“文本型”的路径形式,这样就可以取出“存储卡”
存储用户数据的路径(也就是打开手机文件管理器的默认路径),把取出来的路径放到“编辑框”显示出来,方便接下来的操作。
注意:建议“取文件名”结尾加上一个“/”,默认取出的“路径”是没有这个“/”的。
再次注意: 软件通常操作的“目录”均是“外部存储空间根目录”
如果需要操作安卓“内部数据”目录,则手机需要获取“Root权限”才可以操作。



一、文件读写操作类
● 创建子目录


如下图:
打开帮助内容,可以看到“创建子目录”有一个“目录名”参数和一个“逻辑”返回值。


如下图:
直接将“编辑框”的内容写入“参数”,用“如果”命令判断是否创建成功。
注意:如果目标“目录”存在也会返回假。


如下图:
调试运行后,我们在“数据路径”后输入要创建的“目录名”“左图”创建成功,“右图”重复第二次创建“返回假”

        

如下图:
打开手机“文件管理器”,也可以看到我们创建的“目录”


● 读入文本文件方法


如下图:
打开帮助内容可以看到有“两个”参数和一个“文本”返回值。
注意:提前准备一个txt“文本文件”,放入“火山软件”文件夹内。


如下图:
直接读取“编辑框1”作为“参数1”,参数二里面直接放文件对应的“文编编码”即可,最后让“文本内容”赋值给“编辑框2”显示即可。
因我放的"文件编码"是"GBK"的,所以这里我用的是"GBK编码",安卓通常情况下使用的是“UTF-8”编码。


如下图:
运行后“编辑框2”成功读取提前放置的“文本文件”


● 读入文本文件行方法


如下图:
打开帮助内容,可以看到“读入文本文件行”有两个和“读入文本文件”一样参数,不同之处就是这里的返回值是“文本数组”
从名称可以看出它返回的是“文本文件”内容行的文本数组类。
注意:可以提前在“文本文件”内多输入几行文本。


如下图:
定义“两个”局部变量,保留“读入文本文件”代码,放下对比。
“读入文本文件行”方法直接赋值给定义的“文本数组变量”
用定义的变量名称的“取成员数”方法,取出数组数量然后赋值给“成员数”变量,最后“到文本”转换提供给信息框显示。


如下图:
调试运行后效果如下,成功的判断“文本文件”内的行数。


● 读入文件方法


如下图:
打开帮助内容可以看到,该方法只有一个“文本型”的文件名参数和一个“字节数组”返回值。
备注:提前准备一张“图片”放到“火山软件”文件夹内。


如下图:
定义一个“字节”数组变量,然后“读入文件”方法给变量赋值,最后使用“图片框”“置图片数据”的方法加载“字节变量”“图片框1”


如下图:
编译运行后,成功取出了提前放好的一张“png”图片。


● 复制文件方法


如下图:
打开帮助内容可以看到“复制文件”有两个“文本参数”和一个是否覆盖的“逻辑参数”,复制成功返回“真”,失败返回“假”


如下图:
参数“1和2”直接填写“编辑框1和2”的内容,“参数3”这里就填写“真”(根据实际需求正确填写)


如下图:
运行后在“编辑框2”也放上存储卡“路径”,并且输入上对应的目录名和“复制后文件名”
“左图:”提示复制成功。“右图:”文件管理器内也成功显示。

      

● 删除文件方法


如下图:
打开帮助内容可以看到“删除文件”方法只有一个“文本参数”和一个“逻辑返回值”
“注意:”红框内的提示,如果要“删除目录”,必须保证“目录”内是“空的”


如下图:
代码编写也很简单,直接把“编辑框1”放到“参数1”内,运行后在“用户数据目录”的基础上增加你想要删除的“目录”或者“文件名”即可。


如下图:
运行后我们可以删除掉,刚才的“复制版文本文件”“左图”提示删除成功,“右图”文件管理器也成功消失。

      

如下图:
如果我们删除“火山软件”目录,则会提示“删除失败”,因为“目录内存在内容”


● 文件是否存在方法


如下图:
打开帮助内容我们可以看到有一个“文本参数”和一个“逻辑”返回值。可以判断“文件”或者“目录”是否存在。


如下图:
代码编写,直接将“编辑框1”的内容放到“参数1”中,然后用“如果”命令判断该方法返回的“逻辑值”,如果等于“真”则提示“存在”,否则相反。


如下图:
左图:判断“火山软件”目录会提示“存在”。右图:我们随便输入一个名字,就会提示“不存在”

      

● 写出文本文件方法


如下图:
打开帮助内容可以看到“写出文本文件”有两个“文本参数”,一个是否覆盖的“逻辑参数”和一个“文本编码参数”,最后也是返回的“逻辑值”


如下图:
代码编写非常简单,直接“编辑框1和2”的内容写到“参数1和2”,覆盖填写“真”
要注意的是,最后的“编码”建议填写“UTF8编码”
还有,必须保证“目录正确”并且“目录存在”才能成功“写出文本文件”


如下图:
左图:路径正确“成功写出”。右图:输入了一个“不存在”的目录,会“无法保存”

      

如下图:
打开文件管理器就可以看到我们新写的文件了。


● 写出文本文件行方法


如下图:
打开帮助我们可以看到该方法和“写出文本文件”一样,有四个参数,不同之处就是这里保存的是“文本数组类”


如下图:
我们这里可以用“读入文本文件行”的方法,来读取一个“文件数组类”的变量。
然后将定义的变量填入“写出文本文件行”“参数2”中(这里的编码,必须和上面的一致)。
最后用“如果”来判断“写出文本文件”“返回值”即可。


如下图:
左图:提示成功。右图:文件管理器也成功显示。

      

● 写出文件方法


如下图:
打开帮助内容可以看到“写出文件”方法只有“三个参数”和一个“逻辑返回值”


如下图:
定义一个“字节数组”变量,使用“文本到字节数组”方法,将“编辑框2”的内容转换赋值给定义的“字节数组变量”
“写出文件”参数一直接依然还是“编辑框1”的内容,参数二放入“字节数组变量”“参数三”根据实际需求填写。


如下图:
左图:执行后“保存”成功。右图:文件管理器内也看到了对应的文件。

      

● 重命名文件方法


如下图:
打开帮助内容可以看到“重命名”“两个参数”,并且也同样支持重命名“文件和目录”


如下图:
代码编写,直接将“编辑框1”“编辑框2”的内容填入参数即可,实际应用过程中,填入自己需要“重命名”的文件或者目录的路径。


如下图:
左图:将“火山软件”目录,成功的重命名为“火山软件开发平台”
右图:文件管理器内也发生改变,证明重名成功。

        


二、文件名类
本类所有方法的调用,必须用“文件名类.方法名”或者定义一个类型为“文件名类”的变量,然后用“变量名.方法名”的形式调用。
● 创建方法


如下图:
打开帮助内容,可以看到"创建"有一个"文件名"参数和一个"文件名类"的对象返回值。
顾名思义,就是创建指定文件名的文件对象。


如下图:
可以定义一个“文件名类变量”,然后用“文件名类.创建()”方法给变量赋值,参数直接写“编辑框1”的内容。
可以利用定义的“文件名类变量”“取文件名”方法取出“文件名类”对象中存储的“文件”“目录”的路径。
注意:定义的“文件名类变量”一定要设置“参考”属性。
注意黄色箭头:用“变量类”访问类方法的时候,“取文件名”“参数1文件名类”不用写。

如下图:
运行后我们输入“火山软件开发平台”这个目录,执行后成功的创建“文件类”,并且也成功的利用“取文件名”方法将创建的其取出。
注意:输入的目录内,有结束的“路径符号",但是创建“文件名类”后重新取出后“路径符号”会消失。


● 创建2方法


如下图:
打开帮助内容,可以看到"创建2"有两个“文本型参数”和一个“文件类”的返回值。
顾名思义就是创建一个带“父目录名”“文件类”对象。


如下图:
“编辑框1”窗口创建的时候取的是“存储数据”路径,所以它可以当父路径,直接把“编辑框1”写入“参数1”即可。
"参数2"直接写"编辑框2"的内容即可。


如下图:
运行后在“编辑框2”输入一个“文件名”,执行后成功将“父目录”“文件名”合并了起来。



● 创建3方法


如下图:
打开帮助内容,该方法和“创建2”没什么区别,唯一不同之处就是,参数一变成了“文件类”对象。


如下图:
创建“两个”文件名类的变量,其中一个命名为“父目录对象”,另外一个依然可以命名“文件名类变量”
利用“创建”方法,创建“编辑框1”的内容为“文件名类”并且赋值给“父目录对象”的变量。
随后将“父目录对象”填入“创建3”“参数1”即可,“参数2”依然写“编辑框2”的内容。


如下图:
运行后填写“编辑框2”的文件名,成功将两个组合起来。



● 创建父目录文件对象方法


如下图:
打开帮助可以看到参数名和返回值都是“文件名类”对象,如果没有“父目录”会返回“空对象”


如下图:
代码编写也很简单,我们只需要在“创建3”的基础上稍作修改即可。


如下图:
运行后成功取出了“外部存储空间”的父目录。



● 创建绝对路径文件对象方法


如下图:
打开帮助内容,可以看到该方法的“参数”“返回值”都是“文件名类”
顾名思义就是取绝对路径的“文件名类”对象


如下图:
我们用“创建”方法,创建一个以“编辑框2”内容为参数的文件名类,并且赋值给定义的“文件名类变量”
然后用“创建绝对路径文件对象”的方法,将“编辑框2”“相对路径”转换成“绝对路径”的文件名类变量。
最后用“取文件名”方法,取出来路径文本看一下效果。


如下图:
运行后,我们在“编辑框2”,输入“相对路径”执行后会自动处理成“绝对路径”



● 创建绝对路径文件对象2方法


如下图:
打开帮助内容我们可以看到本方法和“创建绝对路径文件对象”没什么区别,不同之处就是本方法不会对“相对路径”前面的两个小数点就行处理。


如下图:
代码编写也和“创建绝对路径文件对象”一模一样。


如下图:
调试运行后,我们输入一个“相对路径”可以看到本方法并没有处理掉两个小数点。



● 创建临时文件方法


如下图:
打开帮助内容,可以看到本方法有“三个参数”和一个“文件名类”的返回值,并且“参数2和3”都有默认值。


如下图:
代码编写如下图,依然是定义一个“文件名类”变量,把“编辑框2”的内容放入“参数1”“参数2和3”因有默认值所以可以直接省略不写。
最后我们可以用“取文件名”的方法取出“临时文件”的目录。


如下图:
调试运行后,可以在“编辑框2”输入一个“文件名”,取出完整路径后可以看到,后缀也是默认的“tmp”
并且在“文件名”“后缀”之间有一个10位数的“时间戳”



● 创建目录方法


如下图:
打开帮助内容,可以看到它有一个“文件名类”参数和一个“逻辑”返回值。
注意黄框内容,如果“父目录不存在”或者“目录已经存在”都会返回“假”


如下图:
定义一个“目录对象”的文件类变量,然后用“创建”方法,创建“编辑框1”的内容给定义的变量。


如下图:
调试运行后,我们输入要创建的"目录名","左图"创建成功,"右图"重复第二次创建会提示失败。

        

如下图:
打开手机"文件管理器",也可以看到我们创建的"目录"。


● 创建目录内容文件列表方法


如下图:
打开帮助内容,可以看到本方法只有一个“文件名类”参数和一个“文件名类数组”返回值。
顾名思义就是返回指定目录内的“子目录”“文件名”数组。


如下图:
代码编写也很简单,定义三个变量,依然是用“创建”方法去创建文件对象,赋值给变量。
然后用该方法就可以取出“文件名类数组”
最后利用“取数组成员数”的方法取数量,最后“到文本”显示结果。


如下图:
左图:我们在“666”目录,随便放“两个”文件夹和“三个”文件。
右图:成功的取出“数量5”

        


● 创建新文件方法


如下图:
打开帮助内容,可以看到"创建新文件"有一个"文件名类"参数和一个"逻辑"返回值。
注意:黄色的框内提示,已经存在返回假。


如下图:
代码编写依然是创建“文件名类”变量,然后用“创建”方法赋值。
最后使用本方法进行文件创建。


如下图:
左图:我们在“666”目录内创建一个“777”的文本文件,提示创建成功。右图:重复创建则会返回“失败”

        

如下图:
打开手机"文件管理器",可以看到文件成功创建。


● 创建整个目录方法


如下图:
打开帮助内容,可以看到本方法也是一个“文件名类”参数和一个“逻辑”返回值。
它和“创建目录”不同之处在于,它可以直接创建“多层”目录,创建的“目标目录”“父目录”如果不存在会“自动创建”
注意:如果目标"目录"存在会返回假。


如下图:
代码编写也非常简单,和“创建新文件”方法无差别。


如下图:
调试运行后,我们在“编辑框”输入自己要创建的“多层”目录,执行会全部创建成功。


如下图:
打开手机"文件管理器",可以看到输入的“所有目录”全部自动创建。


● 路径比较方法


如下图:
打开帮助内容,可以看到"路径比较"有两个个"文件名类"参数和一个"整数"返回值。
顾名思义就是比较“两个路径”是否相等。
注意:帮助文档内的返回值书写“有错误”
路径一大于路径二:结果“大于0”
路径一小于路径二:结果"小于0"
路径一等于路径二:结果"等于0"


如下图:
代码编写也很简单,定义两个“文件名类”变量和一个“整数”的结果变量。
随后用创建方法分别将两个“编辑框”的内容创建“文件对象”,并且赋值给“文件名类变量”
最后用“路径比较”方法对比即可。


如下图:
运行后输入路径内容,比对结果如下。

       


● 取父目录方法


如下图:
打开帮助内容,可以看到本方法有一个“文件名类”参数和一个“文本”返回值。
顾名思义就是取出指定“文件对象”“父目录”


如下图:
代码编写很简单,创建一个“文件类对象”,用“创建”方法创建对象。
最后用“取父目录”就可以取出来“父目录路径”


运行后如下图:
左图:成功取出“目录”“父目录路径”
右图:成功取出"文件""父目录路径"

        


● 取绝对路径方法


如下图:
打开帮助内容,可以看到本方法有一个"文件名类"参数和一个"文本"返回值。
本方法和“创建绝对路径文件对象”不同之处就是,本方法直接返回“文本”


代码编写如下图:
依然是需要“创建”方法,创建“文件名类”的变量,最后用“取绝对路径”方法取出即可。


如下图:
我们在“编辑框1”输入一个“相对路径”,会自动处理成“绝对路径”



● 取绝对路径2方法


如下图:
打开帮助内容,可以看到本方法和“取绝对路径”唯一的区别就是,本方法不会对“相对路径”的两个小数点进行处理。


如下图:
代码编写和“取绝对路径”没有任何区别。


如下图:
输入一个“相对路径”可以看到并没有对小数点进行处理。



● 取可用空间尺寸方法


如下图:
打开帮助内容,可以看到本方法有一个“文件名类参数”和一个“长整数”的返回值,返回字节长度。


代码编写如下图:
非常简单,将定义的“文件名类”变量,直接调用“取可用空间尺寸”方法即可。
最后“到文本”赋值给“编辑框2”显示出来。


如下图:
调试运行后,我们可以取出“外部存储数据根目录”还有这么多"字节"可以用。



● 取目录内容列表方法


如下图:
打开帮助内容,可以看到本方法和“创建目录内容文件列表”不同之处在于,本方法直接返回“文本型”数组。


如下图:
定义两个变量,创建“文件名类”对象后,直接调用本方法就可以取出“目录文件数组”
最后“取数组成员数”,然后“到文本”赋值给“编辑框2”显示出来。


如下图:
执行后左图显示“4个”数组成员,右图的“文件管理器”也是“4个”,证明取出的是正确的。

      


● 取全部空间尺寸方法


如下图:
顾名思义就是取出所有空间的尺寸,返回值的单位依然是字节。


如下图:
依然是创建“文件名类”变量,随后用本方法直接取尺寸,最后转换文本赋值给“编辑框2”显示。


如下图:
调试运行后,成功取出“取外部存储空间根目录”总共有这么多字节空间。



● 取剩余空间尺寸方法


如下图:
本方法和“取全部空间尺寸”没什么区别,顾名思义就是“取出剩余空间”尺寸。


如下图:
代码编写和“取全部空间尺寸”一样,直接套用下来即可。


如下图:
运行后可以看到成功取出“取外部存储空间根目录”还有这么多字节空间可以用。



● 取文件尺寸方法


如下图:
打开帮助内容,可以看到有一个“文件名类”参数和一个“长整数”返回值。
注意:只能“取文件尺寸”,目录取不出来。


代码如下图:
定义“文件名类”变量,然后用本方法直接“取文件尺寸”即可。


如下图:
成功取出“666”文件夹内的“1.png”图片尺寸。



● 取文件名方法


如下图:
可以看到一个“文件名类”参数和“文本型”的返回值。
顾名思义就是取出创建“文件对象”时候的完整“文件路径”


如下图:
代码编写也很简单,和前面的命令模式基本一样,套下来即可,最后赋值给“编辑框2”显示。


如下图:
左图:取目录对象的效果(取出来的路径没有结束的“路径符”)。
右图:取文件对象的效果。

        


● 取无路径文件名方法


如下图:
帮助内容依然显示一个“文件名类”参数和一个“文本返回值”
顾名思义就是取出“目录名”“文件名”,不包括前面的路径部分。


如下图:
定义“文件名类”变量,创建“文件名类”后赋值给“变量”,最后用本方法“取无路径文件名”,赋值给“编辑框2”显示。


如下图:
左图:“取目录名”效果。
右图:“取文件名”效果。

        


● 取系统所有根目录方法


如下图:
打开帮助内容,可以看到它之后一个“文件名类”“数组”返回值。
顾名思义就是取出所有的“根目录”


如下图:
创建“文件类数组”变量,然后用本方法为“数组变量”赋值。
最后“取数组成员数”“到文本”转换,然后用“提示信息框”显示出来看效果。


如下图:
运行后,因安卓系统下只有一个根目录,所以“显示1”



● 取最后修改时间方法


如下图:
打开帮助内容,有一个“文件名类”参数和一个“长整数”的返回值。
返回的是一个13位数的时间戳,这个时间戳就是从1970年1月1日0点,到指定时间的毫秒数。


代码如下图:
依然是将“编辑框1”的内容创建一个“文件类变量”,然后赋值给定义的“变量”
然后用“取最后修改时间”方法就可以取出修改13位毫秒时间戳。


如下图:
左图:成功取出一个“文件”的最后修改时间。
右图:成功取出一个“目录”的最后修改时间。

        


● 删除方法


如下图:
打开帮助内容,参数和上面的方法一样都是“文件名类”,不同之处就是它的返回值是“逻辑型”
要注意的是,如果删除目录,必须保证目录内是空的。


如下图:
本方法也需要创建“文件类变量”,然后直接使用“删除”方法即可,最后用“如果”进行判断。


如下图:
左图:删除文件“1.txt”成功。
右图:因为“666”目录内还有其它文件,所以目录“删除失败”

        


● 是否被隐藏方法


如下图:
顾名思义,就是判断一个“文件类”对象是否是“隐藏文件”或者“目录”
应用场景:例如你用某个方法获取到一个“路径”,但是不知道这个“路径”“文件对象”是不是“隐藏”状态。
这时候你就可以用“本方法判断”


如下图:
因为是写例子,所以使用本方法需要提前创建一个"文件类变量",然后直接使用"是否被隐藏"方法,最后用"如果"进行判断。


如下图:
左图:我们手动输入一个“隐藏的文件名”,就会自动判断出它是隐藏的文件。
右图:我们手动输入一个“正常的文件名”,就会可以判断出他不是隐藏文件。
注意:本方法对“隐藏的目录”判断同样有效,并且无论是“隐藏的文件”还是“隐藏的目录”“目录名”“文件名”前面会有一个“小数点”作为标识(红圈内)。

        


● 是否存在方法


如下图:
顾名思义就是判断指定的“文件对象”是否存在,存在返回真,不存在返回“假”
目录和文件都可以进行判断。


如下图:
创建"文件类变量",然后直接使用"是否存在"方法即可,最后用"如果"进行判断。


如下图:
左图:执行后“目录存在”
右图:随便输入一个不存在文件,就会提示“不存在”

        


● 是否可读取方法


如下图:
顾名思义,就是判断一个“文件名类”是否可被当前程序读取使用,如果没有操作权限会返回“假”,相反返回“真”
什么时候“返回假”
例如:你操作的目录是安卓内部收据目录,并且还没有获取root权限,肯定是返回“假”
如果指定的“文件对象”已经被其他软件占用,这个时候也会返回“假”
如果目标文件不存在,也返回“假”


如下图:
创建"文件类变量",然后直接使用"是否可读取"方法即可,最后用"如果"进行判断。


如下图:
运行后,“外部存储数据目录”可以被读取,所以返回“可以”


● 是否可写入方法


如下图:
顾名思义就是判断一个文件对象是否有“可写入”的权限,有返回“真”,没有返回“假”
返回假的情况同“是否可读取”


如下图:
创建“文件类变量”,然后直接使用“是否可写入”方法即可,最后用“如果”进行判断。


如下图:
“1.png”存在并且有“写入权限”,所以这里返回“可以”



● 是否可执行方法


如下图:
顾名思义就是判断一个文件对象是否有“可执行”的权限,有返回“真”,没有返回“假”
返回假的情况同“是否可读取”


如下图:
创建“文件类变量”,然后直接使用“是否可执行”方法即可,最后用“如果”进行判断。


如下图:
左图:“666”目录存在且可以被执行,所以返回“可以执行”
右图:随便输入了一个“不存在”的目录,会返回“不可以”

        


● 是否为绝对路径方法


如下图:
顾名思义就是判断一个“文件对象”是否为“绝对路径”,如果是"真",不是返回"假"。
注意黄色框内提示:只要不是“/”起始的路径,都不是绝对路径。


如下图:
创建“文件类变量”,然后直接使用“是否为绝对路径”方法即可,最后用“如果”进行判断。


如下图:
左图:带“/”路径符的直接判断“是”
右图:只要删除了“/”路径符号就会判断“不是”

        


● 是否为目录方法


如下图:
顾名思义就是判断一个文件对象“是否为目录”,如果是目录返回“真”,不是返回“假”
目标目录不存在也会“返回假”


如下图:
创建"文件类变量",然后直接使用"是否为目录"方法即可,最后用"如果"进行判断。


如下图:
左图:是目录“返回真”
右图:输入了一个文件则会“返回假”

        


● 是否为文件方法


如下图:
本方法和“是否为目录”的功能正好相反,它是用来判断目标对象是否为“文件”,如果是文件返回"真",不是返回"假"
目标文件不存在也会"返回假"


如下图:
创建"文件类变量",然后直接使用"是否为文件"方法即可,最后可以用"如果"进行判断。


如下图:
左图:目标存在,并且是文件“返回真”
右图:虽然输入了一个文件,但是目标不存在,依然会返回“不是文件”

        


● 置可读状态方法


如下图:
本方法有三个参数。
参数一:依然是“文件名类”
参数二:是否可读,意思就是说,设置指定“文件对象”是否可读状态。“真”为可读,“假”为不可读。
参数三:“真”设置给当前用户,“假”设置给所有用户。
注意:“黄色框”内提示,因国内安卓系统环境复杂,并不保证每一台手机都可以设置生效(关于权限的设置不再赘述)。



如下图:
创建"文件类变量",然后直接使用"置可读状态"方法即可,最后可以用"如果"进行判断。
注意:这里采用的是“动态调用”(变量调用的模式),所以“参数一”“文件名类”可以省略,直接从“参数二”开始写即可。



● 置可写状态方法


如下图:
本方法依然是三个参数。
本方法和“置可读状态”一样,设置指定"文件对象"是否可写入数据。
失败原因:同“置可读状态”


如下图:
代码编写和“置可读状态”一样。



● 置可执行状态方法


如下图:
本方法和"置可读状态"一样,设置指定"文件对象"是否可执行。
失败原因:同"置可读状态"


如下图:
创建"文件名类",然后用直接调用本方法,最后用"如果"判断返回值即可。。



● 置为只读方法


如下图:
本方法和"置可读状态"一样,设置指定"文件对象"只可以读取数据,不可写入数据。
失败原因:同"置可读状态"


如下图:
创建“文件名类”,然后用直接调用“本方法”,最后用“如果”判断返回值即可。。



● 置最后修改时间方法


如下图:
打开帮助可以看到有两个参数,设置成功返回“真”,失败返回“假”
参数一:还是“文件名类”
参数二:13位数的时间戳。


如下图:
创建“文件名类”,赋值给“文件名类变量”
“取当前毫秒时间”方法,可以取出当前时间的时间戳,取出后赋值给定义的“长整数”变量。
最后把“当前时间”变量,放入本方法内,最后用“如果”判断返回值即可。
执行成功后,可以用“取最后修改时间”取出时间戳显示出来。


运行后效果如下图:



● 重命名方法


如下图:
可以看到有两个“文件名类”参数,成功返回“真”,失败返回“假”
本方法也可用作“移动文件”“另外一个目录”,并且还可以进行重名操作。
如果要“移动文件”,必须保证“目标目录”存在。


如下图:
本方法需要创建两个“文件名类”,一个“源文件”,一个是“目标文件”
然后将两个变量依次放入“重命名”方法即可。


如下图:
左图:把“666”目录内“1.png”成功移动并且重命名到了“外部存储空间根目录”
右图:可以在“文件管理器”内看到移动后的“新文件名”

        



三、文件访问类
● 首先需要了解一下“状态类”“文件打开方式”


“状态类”如下图:
打开“状态类”帮助内容,可以看到它有“四个”常量,每个常量代表不同的意思,具体看红色箭头指的位置说明。
常量调用方式“类名.”+“常量名”即可。


“文件打开方式”如下图:
本类也有“四个常量”,具体作用和说明看图上的文字说明。



● 创建方法


如下图:
打开帮助内容,可以看到它有“两个参数”,其中一个参数正是上面提到的“文件打开方式”
本方法的返回值则是“文件访问类”
顾名思义:本方法的作用就是创建一个“文件访问类”对象,然后根据这个对象进行各种各样的操作。


如下图:
代码编写也很简单。
“参数一”“参数二”根据自己的“实际需求”填写自己需要的内容。
注意:“文件打开方式”后面的小数点不要忘记了。



● 创建2方法


如下图:
可以看到它和“创建”不同之处在于,本方法的“参数一”“文件名类”


如下图:
代码编写的时候,将“要操作的文件”创建成“文件名类”
最后把定义的“文件名类”变量,放入“参数1”即可,这就就可以创建一个“文件访问类”出来。



● 读入数据方法


如下图:
可以看到有“五个”参数。
参数一:要操作的“文件访问类”对象。
参数二:用来存储数据的“字节数组”
参数三:从“字节数组”的哪个位置开始存数据。
参数四:从“文件对象”里面读取多长的数据。
参数五:保存最终读取状态。


如下图:
本代码编写起来较为复杂。
例如:我们要读取一个图片需要这么做。

第一:定义四个变量。
1.文件尺寸变量:用来存储要读入的“文件尺寸”
2.文件访问类变量:存储“文件访问类”
3.状态对象:保存最终“状态”
4.字节数组:临时存放要读入的“文件字节”数组。

第二:首先需要用“文件名类”“创建”方法,取出“文件尺寸”
(无需定义“文件名类”变量,直接在“创建”最后输入“点”“方法名”即可),最后赋值给“尺寸”变量。
第三:用“文件访问类”创建一个“文件访问类”变量,因是读入图片,所以“打开方式”选择“只读”就可以了。
第三:我们需要将定义的“字节数组”,创建一个“成员数”(可以理解为容量),这个容量数据就是“强转整数”后的“文件尺寸”

第四:“读入数据”填写,因为是动态调用,所以“参数一”忽略不写,也“不用逗号”分隔。
参数2:写定义的“字节数组”变量
参数3:完整的读入一个图片,所以这里写“0”
参数4:输入定义“文件尺寸”变量。
参数5:输入定义的“状态”变量

如果所有操作结束后,注意一定要使用“关闭”方法,将创建的“文件访问”对象关闭。
最后用“图片框”“置图片数据”方法将“字节数组”载入进来。


运行后如下图:
成功读取“移动后.png”图片,读取状态也提示“成功”



● 读入数据2方法


如下图:
本方法和“读入数据”的区别就是,本方法少了位置和长度参数。


如下图:
虽然参数少了“两个”,但是代码编写也和“读入数据”基本一致。
唯一不同之处也就是“读入数据2”少写两个参数(红框内),“字节数组”后直接就是“状态对象”


运行后如下图:
“读入数据”一样,成功读取。



● 关闭方法


如下图:
顾名思义,就是关闭一个创建的“文件访问类”对象。
当一个“文件访问”操作结束后,必须使用本方法关闭。



● 关闭方法


如下图:
顾名思义,就是关闭一个创建的"文件访问类"对象。
当一个"文件访问"操作结束后,必须使用本方法关闭。



● 取当前读写位置方法


如下图:
顾名思义,判断一个文件的当前“读写”到哪个位置了,返回一个长整数值。
失败会返回给“状态类”对象。


如下图:
代码编写很简单,创建两个变量。
创建“文件访问类”对象,然后有本方法去“读取”文件对象的“读写位置”
最后“到文本”赋值给“编辑框2”显示出来。


运行后如下图:
因当前没有对“移动后.png”进行任何读写操作,所以“返回0”



● 取输出对象方法


如下图:
作用就是利用创建的“文件访问类”返回一个“数据输出类”来进行“写文件”操作。


如下图:
例如:我们保存“编辑框2”的内容到“编辑框1”的路径,需要这么写。
创建“三个”如下图所示的变量(注意参考)。
创建“文件访问类”然后用本方法,赋值给“数据输出类”变量。
最后用“数据输出类”的方法“写UTF文本”“编辑框2”的内容,状态对象写入到第二个参数即可。


如下图:
左图:运行结果成功写出。
右图:文件管理器内也看到了对应的文件。

        


● 取输入对象方法


如下图:
本方法和“取输出对象”基本一样,不同之处就是本方法返回的是“数据输入类”
利用“数据输入类”可以进行“读取数据”操作。


如下图:
代码编写和“取输出对象”基本没区别,就是将“数据输出类”改成了“数据输入类”
“写UTF文本”改成了“读UTF文本”,最后用“提示信息框”弹出。


运行结果如下图:
成功将“取输出对象”写的文件内容“读取”出来。



● 取文件尺寸方法


如下图:
顾名思义就是取一个“文件访问类”对象的尺寸,返回一个“长整数”值。


如下图:
代码编写也很简单,创建“文件访问类”后,直接用本方法“取文件尺寸”即可,“状态对象”参数有默认值,根据实际需求决定是否填写。
最后“到文本”赋值“编辑框2”即可。


运行结果如下图:
成功取出文件尺寸。



● 置当前读写位置方法


如下图:
顾名思义,就是设置当前“读写位置“,并且返回一个“逻辑值”判断是否设置成功。


如下图:
创建后直接用本方法“置读写位置”即可,这里的参数随意输入了一个“10”,最后也可以用“取当前读写位置”方法判断是否成功。


运行结果如下图:
返回的“当前读写位置”也是“10”,证明写入“位置”成功。



● 置文件尺寸方法


如下图:
通俗理解就是将文件变大,并且不影响文件正常读取!


如下图:
创建“文件访问类”后,用本方法置入一个“100”字节。
随后可以用“取输入对象”“读utf文本”方法,将文本读取赋值给“编辑框2”显示。


运行结果如下图:
上面我们“取文件尺寸”的时候得知“火山文件.txt”“29字节”,这里执行“置入尺寸”后依然可以“成功读取”
右图:“文件管理器”内文件尺寸也变成了“100字节”

        



本教程已经录入火山官方图文教程,地址:http://doc.voldp.com/


结帖率:0% (0/1)
发表于 2019-6-6 14:38:21 | 显示全部楼层   福建省泉州市
我以为我电脑中毒了 一直拉  拉不完
回复 支持 反对

使用道具 举报

结帖率:67% (2/3)
发表于 2018-9-11 18:25:55 | 显示全部楼层   山西省运城市
支持大佬!!!         
回复 支持 反对

使用道具 举报

结帖率:72% (26/36)

签到天数: 1 天

发表于 2018-9-8 13:59:31 | 显示全部楼层   黑龙江省黑河市
感谢分享,保存起来慢慢看
回复 支持 反对

使用道具 举报

结帖率:94% (66/70)
 楼主| 发表于 2018-9-3 22:44:09 | 显示全部楼层   四川省成都市

噢噢噢噢
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 3 天

发表于 2018-9-3 19:07:50 | 显示全部楼层   天津市天津市

回帖奖励 +50 枚 精币

拿个精币支持一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表