java io流读取txt文件_Java使用IO流读取TXT文件
通过BufferedReader读取TXT文件
window系统默认的编码是GBK,而IDE的编码多数为UTF-8,如果没有规定new InputStreamReader(new FileInputStream(file),“GBK”)为GBK会出现读取内容乱码。
//文件路径
String filePath="C:/Users/Admin/Desktop/products.txt";
File file=new File(filePath);
BufferedReader reader = null;
String tempString = null;
int line =1;
try {
// System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new InputStreamReader(new FileInputStream(file),"GBK"));
while ((tempString = reader.readLine()) != null) {
System.out.println("Line"+ line + ":" +tempString);
line ++ ;
}
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(reader != null){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
读取TXT文件并保持在List集合
TXT文件内容
商品 价格 类型 数量
创建Product对象
public class Product{
private int id;
private String name;
private int price;
private char type;
private int count;
1
2
3
4
5
6
//将txt文件中的产品对象读取出来并且封装成集合对象
private static List getProductFromTxt(){
List list=new ArrayList<>();
String filePath="C:/Users/Admin/Desktop/products.txt";
File file=new File(filePath);
BufferedReader reader = null;
String content = null;
int line =1;
try {
// System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new InputStreamReader(new FileInputStream(file),"GBK"));
while ((content = reader.readLine()) != null) {
//System.out.println("Line"+ line + ":" +tempString);
String[] arra=content.split(",");
Product product=new Product();
product.setId(line);
product.setName(arra[0]);
product.setPrice(Integer.parseInt(arra[1]));
char[] ch=arra[2].toCharArray();
product.setType(ch[0]);
product.setCount(Integer.parseInt(arra[3]));
list.add(product);
line ++ ;
}
reader.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(reader != null){
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return list;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
其中包含了String转char
char[] ch=str.toCharArray();
product.setType(ch[0]);
————————————————
版权声明:本文为CSDN博主「IManiy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/IManiy/article/details/83834360
java io流读取txt文件_Java使用IO流读取TXT文件相关推荐
- java 删除指定文件夹和下面所有文件_java——File IO流
1.File(掌握) (1)IO流操作中大部分都是对文件的操作,所以Java就提供了File类供我们来操作文件 (2)构造方法 A:File file = new File("e:demoa ...
- java 读取1m文件_java的FileInputStream类读取文件
package net.csdn.InputStream; import java.io.File; import java.io.FileInputStream; import java.io.Fi ...
- java缓冲流 复制文件_java使用缓冲流复制文件的方法
本文实例为大家分享了java使用缓冲流复制文件的具体代码,供大家参考,具体内容如下 [1] 程序设计 /*------------------------------- 1.缓冲流是一种处理流,用来加 ...
- java io操作压缩文件_Java操作zip-压缩和解压文件
一.说明 rar格式的压缩包收费,java支持zip格式的压缩和解压 二.工具类 import java.io.*; import java.util.Enumeration; import java ...
- java合并txt文件_Java程序将两个txt文件合并为第三个txt文件 - Break易站
让给定的两个文件是file1.txt和file2.txt.我们的任务是将两个文件合并到第三个文件,例如file3.txt,但合并应该逐行进行.以下是交替合并的步骤. 为file3.txt创建Print ...
- java当中各种流的应用场景_Java中有哪些流,常用流有哪些并有何特点和使用场景 NIO流,特性及使用时注意的事项 IO与NIO区别...
IO流 流(stream):一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象,对文件中的内容读和写的操作. 及时关闭不使用的流,避免造成资源流失,可能会导致内存溢出 1.数据流向 输入流 ...
- java流类图结构_java I/O 流总结
一.java 流操作有关的类和接口: 类 说明 Fil ...
- java io和nio的区别_Java中IO和NIO的本质和区别
导读热词 简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1 ...
- file数组 删除文件_java编程IO基础之一:File类
在整个java.io包中,File类是唯一的一个与文件本身操作有关的类,既可以执行文件的创建.删除.重命名,取得文件大小和修改日期. File的构造函数: public File(String pat ...
最新文章
- CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths
- ClassLoader(二)- 加载过程
- python软件怎么运行-python软件怎么用
- How Kafka’s Storage Internals Work
- 华为交换机端口组配置实例
- 本地文件夹如何断开svn连接
- boost::execution_monitor相关的测试程序
- js如何读取客户端Excel文件
- FBV(function base views) 顾名思义基于函数的视图类 CBV(class base views)基于类的视图类
- 无限式查找-----2013年2月28日
- 二维随机变量期望公式_概率论笔记-Ch4期望与方差
- 笨方法“学习python笔记之循环
- 这是很简单的js拖拽方法
- Yunxion资产监测设备中DCDC芯片选择
- 有关XLS文件的读取
- 固定资产管理系统的作用何在?
- FileReader的使用方法
- ChemDraw 2D与ChemBio 3D之间的信息转换
- 苹果6plus自动时间不准 修复苹果自动设置时间不准教程(图文)
- 【雕爷学编程】Arduino动手做(72)---HX711 人体称重模块
热门文章
- JavaScript从入门到放弃 -(四)E5 新增方法
- python动态_python --动态类型
- weex android 性能,跨越适配性能那道坎,企鹅电竞Android weex优化
- mysql insert 二进制_MYSQL 插入二进制数的 2 种方法。
- linux隔一级目录找文件,linux查看文件和子目录
- 出发a标签_以用户标签为例,复盘B端产品的需求挖掘方法论
- linux中gedit中定义变量,linux中的gedit
- MySQL的乱码解决方案
- 世界手机号码格式_世界上手机号码最长的国家是中国,最短的是哪个国家?
- 海康9800平台linux的sdk,流媒体项目外包海康9800平台sdk适配