java读取txt文件并输出结果

 更新时间:2019年11月28日 10:25:32   作者:农名工进城  
这篇文章主要介绍了java读取txt文件并输出结果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了java读取txt文件并输出结果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

描述:

1.java读取指定txt文件并解析

文件格式:

代码:

package com.thinkgem.wlw.modules.midea;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

/**
 * @Author: zhouhe
 * @Date: 2019/6/19 8:48
 */
public class Test {
  public static void main(String[] args) {
    // 文件夹路径
    String path = "D:\\input.txt";
    try {
      List<String> scanListPath = readFile02(path);
//      System.out.println(scanListPath);
      for (int i = 0; i < scanListPath.size(); i++) {
        String mytext = scanListPath.get(i);

        //替换所有制表符
        mytext = mytext.replaceAll("\t",",");
        System.out.println(mytext);
        //每一行都转化为新的数组,根据下标去判断参数值对应的参数是什么
        String [] strArr= mytext.split(","); //注意分隔符是需要转译
        for (int m = 0; m < strArr.length; m++) {
//          System.out.println(strArr[m]);
          switch(m){
            case 0:
              System.out.println("时间:"+strArr[m]);
              break;
            case 1:
              System.out.println("甲烷:"+strArr[m]);
              break;
            case 2:
              System.out.println("总烃:"+strArr[m]);
              break;
            case 3:
              System.out.println("非甲烷总烃:"+strArr[m]);
              break;
            case 4:
              System.out.println("氨气:"+strArr[m]);
              break;
            case 5:
              System.out.println("硫化氢:"+strArr[m]);
              break;
            case 6:
              System.out.println("氧气:"+strArr[m]);
              break;
            default:
              break;
          }
        }
      }
    } catch (IOException e) {
      System.out.println("有异常,无法读取!!!");
    }
  }

  /**
   * 读取一个文本 一行一行读取
   *
   * @param path
   * @return
   * @throws IOException
   */
  public static List<String> readFile02(String path) throws IOException {
    // 使用一个字符串集合来存储文本中的路径 ,也可用String []数组
    List<String> list = new ArrayList<String>();
    FileInputStream fis = new FileInputStream(path);
    // 防止路径乱码  如果utf-8 乱码 改GBK   eclipse里创建的txt 用UTF-8,在电脑上自己创建的txt 用GBK
    InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
    BufferedReader br = new BufferedReader(isr);
    String line = "";
    while ((line = br.readLine()) != null) {
      // 如果 t x t文件里的路径 不包含---字符串    这里是对里面的内容进行一个筛选
      if (line.lastIndexOf("---") < 0) {
        list.add(line);
      }
    }
    br.close();
    isr.close();
    fis.close();
    return list;
  }
}

结果:

2.java读取指定文件夹下的所有txt文件并输出内容(我这里一个文件夹下面有 2 个txt文件):

代码:

package com.thinkgem.wlw.modules.midea;

import java.io.*;

/**
 * @Author zhouhe
 * @Date 2019/10/10 13:10
 */
public class Test2 {


  /**新建一个类把下面代码放进去,注意要设置basePath(你要读取的文件夹),读取和写入的方法也都写好了.你可以根据自己的需求掉用就行了**/
  static String basePath="D:\\测试";
  /**
   * 查找文件夹下所有符合csv的文件
   *
   * @param dir 要查找的文件夹对象
   * */
  public static void findFile(File dir) throws IOException {
    File[] dirFiles = dir.listFiles();
    for(File temp : dirFiles){
      if(!temp.isFile()){
        findFile(temp);
      }
    //查找指定的文件
    if(temp.isFile() && temp.getAbsolutePath().endsWith(".txt") ){
        //获取文件路径,包含文件名
        String filePath = temp.getAbsolutePath();
        //获取文件名
        String fileName = temp.getName();
        System.out.println(temp.isFile() + " " + temp.getAbsolutePath());
    readFileContent(temp);
    }
    }
  }

  /**
   * @param file 要读取的文件对象
   * @return 返回文件的内容
   * */
  public static String readFileContent(File file) throws IOException{
    FileReader fr = new FileReader(file);
    BufferedReader br = new BufferedReader(fr);
    StringBuffer sb = new StringBuffer();
    while(br.ready()){
//      sb.append(br.readLine());
      System.out.println(br.readLine());
    }
    System.out.println(sb.toString());
    return sb.toString();
  }

  /**
   * @param file 要写入的文件对象
   * @param content 要写入的文件内容
   * */
  public static void writeFileContent(File file,String content) throws IOException{
    FileWriter fw = new FileWriter(file);
    fw.write(content);
    fw.flush();
    fw.close();
  }

  public static void main(String[] args) {
    try {
      findFile(new File(basePath));
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
  }
}

结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java Fluent Mybatis 分页查询与sql日志输出详解流程篇

    Java Fluent Mybatis 分页查询与sql日志输出详解流程篇

    Java中常用的ORM框架主要是mybatis, hibernate, JPA等框架。国内又以Mybatis用的多,基于mybatis上的增强框架,又有mybatis plus和TK mybatis等。今天我们介绍一个新的mybatis增强框架 fluent mybatis关于分页查询、sql日志输出流程
    2021-10-10
  • 一文深入解析JDBC超时机制

    一文深入解析JDBC超时机制

    恰当的JDBC超时设置能够有效地减少服务失效的时间,下面这篇文章主要给大家介绍了关于JDBC超时机制的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-10-10
  • IDEA 打开java文件对应的class路径的操作步骤

    IDEA 打开java文件对应的class路径的操作步骤

    这篇文章主要介绍了IDEA 打开java文件对应的class路径的操作步骤,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Java 8中读取文件内容 Files.lines()方法使用示例

    Java 8中读取文件内容 Files.lines()方法使用示例

    这篇文章主要介绍了Java 8中读取文件内容Files.lines()方法如何使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • java FileOutputStream输出流的使用解读

    java FileOutputStream输出流的使用解读

    这篇文章主要介绍了java FileOutputStream输出流的使用解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Java使用C3P0数据源链接数据库

    Java使用C3P0数据源链接数据库

    这篇文章主要为大家详细介绍了Java使用C3P0数据源链接数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Java基础篇之分布式版本控制工具Git

    Java基础篇之分布式版本控制工具Git

    Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件
    2021-10-10
  • 详解Spring AOP 实现主从读写分离

    详解Spring AOP 实现主从读写分离

    本篇文章主要介绍了Spring AOP 实现主从读写分离,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Java(enum)枚举用法详解

    Java(enum)枚举用法详解

    本篇文章主要介绍了Java 枚举用法详解,枚举的好处:可以将常量组织起来,统一进行管理。有兴趣的可以一起来了解一下。
    2016-11-11
  • springboot controller无效的处理方案

    springboot controller无效的处理方案

    这篇文章主要介绍了springboot controller无效的处理方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10

最新评论