大家好,欢迎来到IT知识分享网。
- (1)使用Context.openFileOutput(string name,int mode)方法,填入文件名和操作模式,获取FileOutputStream 对象.
- (2)把待写入的内容通过write()方法写入到FileOutputStream 对象中。
- (3)使用FileOutputStream 对象的close()关闭流。
其他文件操作方法如下。
- getDir(String name , int mode):在应用程序的数据文件夹下获取或者创建name对应的子目录
- File getFilesDir():获本文件系统的绝对路径。
- String[] fileList():当前应用内部存储路径下的所有文件名。
- boolean deleteFile(String name)删除一个指定文件名为name的文件。
- File getDir():在内部存储空间中创建或打开一个已经存在的目录。
下面主要介绍一下文件主要操作类的方法
!!!在调用当前对象的Context后:
1. 保存内容到内部储存器中
可复制代码:
//保存内容到内部服务器中
public void save(String filename, String content)throws IOException{
//FileoutputStream myfos=context.openFileoutput(filename,Context.MODE_PRIVATE);
File file= new File(context.getFilesDir(), filename);
FileOutputStream myfos= new FileOutputStream(file);
myfos.write(content.getBytes());
myfos.close();
}
2. 通过文件名来获取内容
可复制代码:
/
- 通过文件名来获取内容
- @param filename 文件名称
- @return 文件内容
*/
public String get(String filename) throws IOException {
FileInputStream fis = context.openFileInput(filename);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] data = new byte[1024];
int len = -1;
while ((len = fis.read(data)) != -1) {
baos.write(data, 0, len);
}
return new String(baos.toByteArray());
}
3.使用追加的方式在文件的末尾添加内容
可复制代码:
/
- 使用追加的方式在文件的末尾添加内容
- @param filename 文件名
*@param content 追加的内容
*/
public void append(String filename, String content) throws IOException{
FileOutputStream myfos= context.openFileOutput(filename, Context.MODE_APPEND);
myfos.write(content.getBytes());
myfos.close();
}
4.删除文件
可复制代码:
/
*删除文件
- @param filename 文件名
- @return 是否成功
*/
public boolean delete(String filename) {
return context.deleteFile(filename);
}
5.获取内部存储路径下的所有文件名
可复制代码:
/
- 获取内部存储路径下的所有文件名
*@return 文件名数组
*/
public String [] queryAllfile(){
return context.fileList();
}
Java文件如下:
public class Internalstorage {
private Context context;
public Internalstorage(Context context) {
this.context = context;
}
//保存内容到内部服务器中
public void save(String filename, String content)throws IOException{
//FileoutputStream myfos=context.openFileoutput(filename,Context.MODE_PRIVATE);
File file= new File(context.getFilesDir(), filename);
FileOutputStream myfos= new FileOutputStream(file);
myfos.write(content.getBytes());
myfos.close();
}
/
- 通过文件名来获取内容
- @param filename 文件名称
- @return 文件内容
*/
public String get(String filename) throws IOException {
FileInputStream fis = context.openFileInput(filename);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] data = new byte[1024];
int len = -1;
while ((len = fis.read(data)) != -1) {
baos.write(data, 0, len);
}
return new String(baos.toByteArray());
}
/
- 使用追加的方式在文件的末尾添加内容
- @param filename 文件名
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
总结
现在新技术层出不穷,如果每次出新的技术,我们都深入的研究的话,很容易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很容易被我们遗忘,到最后真的需要使用的时候,又要从头来过(虽然上手会更快)。
我觉得身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面对新技术,不要抵触,拥抱变化就好了。
Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,成本确实过高。但是周末花一天时间体验一下它的开发流程,了解一下它的优缺点、能干什么或者不能干什么。这个时间,并不是我们不能接受的。
如果有时间,其实通读一遍 Flutter 的文档,是最全面的一次对 Flutter 的了解过程。但是如果我们只有 8 小时的时间,我希望能关注一些最值得关注的点。
(跨平台开发(Flutter)、java基础与原理,自定义view、NDK、架构设计、性能优化、完整商业项目开发等)
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
其实通读一遍 Flutter 的文档,是最全面的一次对 Flutter 的了解过程。但是如果我们只有 8 小时的时间,我希望能关注一些最值得关注的点。
(跨平台开发(Flutter)、java基础与原理,自定义view、NDK、架构设计、性能优化、完整商业项目开发等)
[外链图片转存中…(img-gqtfWDrq-1713636433512)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/135745.html