zoukankan      html  css  js  c++  java
  • Java(springboot) 读取txt文本内容代码实例

    这篇文章主要介绍了Java(springboot) 读取txt文本内容代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    代码如下

    public class TxtTest {
      private static final Logger logger = LoggerFactory.getLogger(TxtTest.class);
      public static String readTxt(File file) throws IOException {
        String s = "";
        InputStreamReader in = new InputStreamReader(new FileInputStream(file),"UTF-8");
        BufferedReader br = new BufferedReader(in);
        StringBuffer content = new StringBuffer();
        while ((s=br.readLine())!=null){
          content = content.append(s);
        }
        return content.toString();
      }
     
      public static void main(String[] args) {
        try {
            //通过绝对路径获取文件
          String s1 = TxtTest.readTxt(new File("C:\Users\....\du.txt"));
          logger.info(s1);
     
            //spring boot中文件直接放在resources目录下
          String s2 = TxtTest.readTxt(ResourceUtils.getFile("classpath:du.txt"));
          logger.info(s2);
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }

     以上代码如果部署在linux服务器上,就找不到SpringBoot项目resources根目录下的du.txt文件。所以需要修改成如下方式:

    import com.huixiaoer.joy.api.common.config.EnvConfig;
    import com.huixiaoer.joy.api.service.FileService;
    import lombok.extern.slf4j.Slf4j;
    import org.apache.commons.io.IOUtils;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.core.io.ClassPathResource;
    import org.springframework.stereotype.Service;
    import org.springframework.util.ResourceUtils;
    
    import java.io.*;
    
    
    @Slf4j
    @Service
    public class FileServiceImpl implements FileService {
    
        @Override
        public String readTxtFile() {
            try {
                byte[] bytes;
    
                ClassPathResource classPathResource = new ClassPathResource("file/du.txt");
                //获取文件流
                InputStream keyStream = classPathResource.getInputStream();
                bytes = IOUtils.toByteArray(keyStream);
                keyStream.read(bytes);
                keyStream.close();
    
                ByteArrayInputStream certBis = new ByteArrayInputStream(bytes);
                InputStreamReader input = new InputStreamReader(certBis);
                BufferedReader bf = new BufferedReader(input);
                String line = null;
                StringBuilder sb = new StringBuilder();
                while((line=bf.readLine()) != null){
                    sb.append(line);
                }
    
                return sb.toString();
            } catch (IOException e) {
                log.error("读取文件错误",e);
            }
            return "";
        }
    
    }

    转载于:https://www.jb51.net/article/180411.htm

  • 相关阅读:
    洛谷 P1486 [NOI2004] 郁闷的出纳员(Splay)
    计算器网络(一)发展史以及OSI参考模型
    计算机网络(三) TCP协议详解
    计算机网络(二) TCP/IP协议群介绍
    排序算法Java实现
    springboot项目部署之启动java项目脚本start.sh
    Springboot项目部署之文件上传报错413 Request Entity Too Large错误
    springboot项目部署之停止关闭项目脚本shutdown.sh
    聊聊Java中面向对象的this指针以及static修饰符
    Java面向对象之代码块、Package、Import
  • 原文地址:https://www.cnblogs.com/it-deepinmind/p/13571764.html
Copyright © 2011-2022 走看看