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

  • 相关阅读:
    重读SQLServer技术内幕 -- 故障检测概要
    Android Studio调试React Native项目
    Android 异常处理
    第一天
    记一次"未将对象引用设置到对象的实例"问题的排查过程
    Hyper-V连接虚拟机异常,“无法进行连接,因为可能无法将凭据发送到远程计算机”
    关于TFS2012无法发送警报邮件的问题
    BaseAdapter日常的封装
    android自定义拍照
    Android系统拍照源码
  • 原文地址:https://www.cnblogs.com/it-deepinmind/p/13571764.html
Copyright © 2011-2022 走看看