zoukankan      html  css  js  c++  java
  • 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<Product> getProductFromTxt(){
    List<Product> 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

  • 相关阅读:
    hdu 5269 ZYB loves Xor I &amp;&amp; BestCoder Round #44
    Hibernate之关于多对多单向关联映射
    測试CPU支持指令集AVX,AVX2,SSE情况的代码【VS2010调试通过】
    联想教育应用使用说明(7.6版本号)——第5章 常见的问题与解答
    java.lang.ClassNotFoundException: org.springframework.web.content.ContextLoaderListener
    IETF和W3C的区别
    [ppurl]从”皮皮书屋”下载电子书的姿势
    javaEE面试重点
    HDU-1095-A+B for Input-Output Practice (VII)(多一个空格?)
    WinCC7.3 Win764位系统安装教程
  • 原文地址:https://www.cnblogs.com/muhy/p/11525576.html
Copyright © 2011-2022 走看看