spring cloud 只读取文件内容但不保存文件

1:controller层

@PostMapping("/upload")
    public Resp upload(@RequestParam MultipartFile multipartFile) throws IOException {
        modelService.upload(multipartFile);
        return Resp.justSuccess();
    }

2:service层

@Transactional(rollbackFor = Exception.class)
    public void upload(MultipartFile multipartFile) throws IOException {
        InputStream inputStream = multipartFile.getInputStream();
        String input = IOUtils.toString(inputStream, StandardCharsets.UTF_8.name());
        //写关于对于Input的操作
    }

3:加依赖

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>

这个包里就包含IOUtils.toString(inputStream, StandardCharsets.UTF_8.name())这个方法,用起来十分方便。
我这里的情况是,前端传递过来的数据以.json文件作为参数,所以我需要读取到文件里面的数据,但没必要保存文件,所以就这样操作十分方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud中,我们可以使用Spring Framework提供的ResourceLoader接口来读取静态文件。 首先,我们需要在Spring Boot应用的classpath下创建一个名为"resources"的文件夹,将静态文件(如文本文件、配置文件等)放置在其中。 然后,在我们的Spring Boot应用中,我们可以通过注入ResourceLoader接口来实现对静态文件读取。例如,在一个Controller类中,我们可以如下定义一个方法来读取静态文件: ```java @Autowired private ResourceLoader resourceLoader; @GetMapping("/readFile") public String readFile() throws IOException { Resource resource = resourceLoader.getResource("classpath:static/myFile.txt"); File file = resource.getFile(); // 执行文件读取操作,例如: try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; StringBuilder stringBuilder = new StringBuilder(); while ((line = reader.readLine()) != null) { stringBuilder.append(line); } return stringBuilder.toString(); } } ``` 在上述代码中,"classpath:static/myFile.txt"指定了要读取的静态文件的路径。getResource()方法将该路径解析为Resource对象,然后我们可以通过getFile()方法获取该文件的File对象。接下来,我们可以利用File对象执行文件读取操作,读取文件内容并返回。 需要注意的是,如果静态文件位于jar包内部,则无法通过getFile()方法获取文件的File对象。此时,我们可以使用其他方法,如使用InputStream进行读取,如下所示: ```java @Autowired private ResourceLoader resourceLoader; @GetMapping("/readFile") public String readFile() throws IOException { Resource resource = resourceLoader.getResource("classpath:static/myFile.txt"); InputStream inputStream = resource.getInputStream(); // 执行文件读取操作,例如: try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { String line; StringBuilder stringBuilder = new StringBuilder(); while ((line = reader.readLine()) != null) { stringBuilder.append(line); } return stringBuilder.toString(); } } ``` 以上示例演示了如何读取静态文件,无论文件是放置在classpath下还是在jar包内部。使用ResourceLoader接口,我们可以很方便地读取静态文件并执行相应的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值