java 21 - 10 文本文件和集合之间互相存储数据
有时候,我们会遇到单独写入数据到文本文件的情况。比如:
需求:把ArrayList集合中的字符串数据存储到文本文件
分析:
A:ArrayList集合中存储的是String类
B:要存储的文件是文本文件,所以用字符流,为了快速,用缓冲字符流A
数据源:
ArrayList<String> ----- 遍历集合,得到数据
目的地:
c.txt ------ FileWriter ------ BufferedWriter
public static void main(String[] args) throws IOException {
// 封装数据(创建集合对象)
ArrayList<String> arry = new ArrayList();
//添加数据
arry.add("我");
arry.add("要");
arry.add("睡觉。。");
//封装目的地
BufferedWriter bw = new BufferedWriter(new FileWriter("c.txt"));
String line = null;
int len = 0;
//遍历数组,写入数据到目的地
for(String s : arry){
bw.write(s);
bw.newLine();
bw.flush();
}
bw.close();
}
同样,有时候我们需要从文本文件中提取里面的数据,并存储到集合中:
需求:从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合
分析:
A:从文本文件中读取数据,则用缓冲字符输入流 BufferReader
B:因为为了快速,使用的是每一行为一个字符串数据的读取方式,所以集合类型为String类的
数据源:
copy.txt -- FileReader -- BufferedReader
目的地:
ArrayList<String>
public static void main(String[] args) throws IOException {
// 封装数据源
BufferedReader br = new BufferedReader(new FileReader("copy.txt"));
// 封装目的地(创建集合)
ArrayList<String> arry = new ArrayList();
//从数据源中读取数据,并把数据写入集合中
String line = null;
while((line = br.readLine()) != null){
arry.add(line);
}
br.close();
//遍历数组
for(String s : arry){
System.out.println(s);
}
}
java 21 - 10 文本文件和集合之间互相存储数据的更多相关文章
- Java基础从数组到集合之间关键字的区别!!!!
1.&& 和 &区别和联系: 相同点 : 结果是一样的. 不同点 :如果使用双&号判断,如果说条件一为false,不会判断条件二,但是单&号会继续判 ...
- Java基础——从数组到集合之间关键字的区别!!!!
1.&& 和 &区别和联系: 相同点 : 结果是一样的. 不同点 :如果使用双&号判断,如果说条件一为false,不会判断条件二,但是单&号会继续判 ...
- 【JAVA】使用 jedis操作redis——连接、存储数据、切库等
本篇运用Java调用jedis包(jedis在线文档API ),做简单操作实例. 安装jedis 1. 2.9.0 jar 版本下载: jedis-2.9.0.jar 2. 新建项目,添加该驱动包 连 ...
- Java基础学习笔记十七 集合框架(三)之Map
Map接口 通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. Collection中的集合,元素是孤立存在的(理解为单身),向集合中存 ...
- 《java入门第一季》之有趣的集合小案例---获取10个【1-20之间】的随机数,要求不能重复。
import java.util.ArrayList; import java.util.Random; /* * 获取10个[1-20之间]的随机数,要求不能重复.(注意:不是获取10个数,如果单纯 ...
- java json数据转List对象的集合-----阿里巴巴插件---及原生json---JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】
List<RunfastFullLess> list=(List<RunfastFullLess>)JSONArray.parseObject(activity.getFull ...
- 日常Java 2021/10/21
Java Iterator(迭代器) 如果需要使用iterator类需要从java.util包中引入它 Java Iterator不是一个集合,它是一种访问集合的方法,用于迭代ArrayList和Ha ...
- JAVA中列表,集合之间的区别
整体来看List,Set,Map都是实现了Collection接口的接口. 重复性: List允许存在重复的元素,也就是说List中可以在不影响现有元素的值及其索引的同时插入新的重复元素. Set不允 ...
- java se系列(十二)集合
1.集合 1.1.什么是集合 存储对象的容器,面向对象语言对事物的体现,都是以对象的形式来体现的,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式.集合的出现就是为了持有对象.集 ...
随机推荐
- 使用WebMatrix发布网站
使用WebMatrix发布网站 WebMatrix 简介: Microsoft WebMatrix 是微软最新的 Web 开发工具,它包含了构建网站所需要的一切元素.您可以从开源 Web 项目或者内置 ...
- SQL 查询学生缺考情况
有三个表,如果学生缺考,那么在成绩表中就不存在这个学生的这门课程成绩的记录,写一段SQL语句,检索出每个学生缺考的科目.A 学生表(student)字段1 学生号(s_id)字段2 学生名(s_nam ...
- iOS 新窗口在最上层
有的时候需要弹出一个UIView 在整个视图的最上方,使用 [self.view addsubview : view] 一般就可以了,但是这样不严谨,因为这是一个tableview,那么这个view ...
- 提高eclipse使用效率(二) 提高Android开发效率的小技巧
XML文件的代码提示 adt中也有xml文件的代码提示,为了让提示来的更加猛烈,我们还要设置一下 打开eclipse - Window - Preferences,在右边的目录树中切换到XML - X ...
- Objective-C中@encode的使用
今天看Mansonry的代码时,碰到一个生僻的关键字(也许只是自己没用过).:-) @encode => 将给定类型编码为内部表示的字符串. 为了方便自己查阅,顺便也写个小例子,贴在这里,实践 ...
- NSArray数字和排序
1.数字 int main(int argc, const char * argv[]) { @autoreleasepool { //添加空白 [NSNull null] // NSArray *a ...
- UITableVIew 滚动流畅性优化
影响UITableViewUITableView滚动的流畅性原因: 1. 在代理方法中做了过多的计算占用了 UI 线程的时间 2.同上 3.Cell 中 view 的组织复杂,比如使用layer并不会 ...
- Mac上的软件的一些对开发者有用的使用技巧(持续更新)
内容大纲: Google浏览器设置开发者模式 正文: 1.Google浏览器设置开发者模式
- 高仿700Bike的界面图片
下面展示本人高仿项目"700Bike"的已经完成的界面:
- MySQL 强制操作以及order by 使用
我们以MySQL中常用的hint来进行详细的解析,如果你是经常使用Oracle的朋友可能知道,Oracle的hincvt功能种类很多,对于优化sql语句提供了很多方法. 同样,在MySQL里,也有类似 ...