Java读取文件

读取文件为String 、访问链接直接跳转html

环境:SpringMVC 、前端jsp

InputStreamReader

        FileInputStream fileInputStream = new FileInputStream(formatFile.getHtmlpath());
        InputStreamReader reader = new InputStreamReader(fileInputStream, StandardCharsets.UTF_8);
        char[] b = new char[1024];
        int cnt = 0;
        StringBuilder sb = new StringBuilder();
        while((cnt = reader.read(b,0,b.length)) != -1){
            sb.append(b.toString());
        }

结果:能读取出来,不乱码,但是字符中间多了逗号
在这里插入图片描述

BufferedReader

 @RequestMapping("/xxx/yyy")
    public ResponseEntity<String> markReportHtml(@RequestParam(value = "id") Integer id) throws IOException {
        HttpHeaders httpHeaders = new HttpHeaders();
        httpHeaders.set("Content-Type","text/html;charset=UTF-8");
        F f = fDao.selectById(id);
        if(f == null || StringUtils.isEmpty(f.getHtmlpath())){
            return new ResponseEntity<>("<html><div>未查询到数据</div></html>",httpHeaders, HttpStatus.CONFLICT);
        }

        StringBuilder sb = new StringBuilder();
        BufferedReader br=new BufferedReader(new InputStreamReader(Files.newInputStream(Paths.get(formatFile.getHtmlpath())), StandardCharsets.UTF_8));
        String line;
        while ((line = br.readLine())!=null) {
            sb.append(line);
        }
        return new ResponseEntity<>(sb.toString(), httpHeaders, HttpStatus.OK);
    }

结果:访问接口,前端无需任何操作直接跳转html页面,符合要求

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/423239.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

5GC SBA架构

协议标准&#xff1a;Directory Listing /ftp/Specs/archive/23_series/23.501/ (3gpp.org) NF描述说明NSSFNetwork Slice Selection Function网络切片选择&#xff0c;根据UE的切片选择辅助信息、签约信息等确定UE允许接入的网络切片实例。NEF Network Exposure Function网络开…

gif闪图如何在线生成?仅需三步在线制作gif闪图

Gif动态图片是一种通过连续播放的一系列图片来展示的。Gif动图的优势是体积小、传播速度快且不受限制。当我们想要将多张图片变成带有闪动效果的gif动图时应该怎么操作呢&#xff1f;这时候&#xff0c;只需要使用在线闪图制作&#xff08;https://www.gif.cn/&#xff09;网站…

查找算法——java

顺序查找&#xff08;顺序表查找&#xff09; 顺序查找也称为线形查找&#xff0c;属于无序查找算法。从数据结构线形表的一端开始&#xff0c;顺序扫描&#xff0c;依次将扫描到的结 点关键字与给定值k相比较&#xff0c;若相等则表示查找成功&#xff1b;若扫描结束仍没…

web自动化笔记十:UnitTest基本使用

一、UnitTest框架 ①、什么是框架&#xff1f; 1、框架英文单词framework 2、为解决一类事情的功能集合 ②、为什么使用UnitTest框架 1、批量执行用例 2、提供丰富的断言知识 3、可以…

应用稳定性优化2:Crash/Tombstone问题分析及定位

1. Crash/Tombstone问题原因分析 2. Tombstone问题定位方法 本节主要讲解Tombstone问题的分析定位方法。 2.1 信号量分析法 信号机制是进程之间相互传递消息的一种方法&#xff0c;下表展示的是一些常见的信号种类。 SIGBUS与SIGSEGV的区别 SIGBUS(Bus error)意味着指针所…

Javaweb之SpringBootWeb案例之自动配置的两种常见方案的详细解析

3.2.2.2 方案一 ComponentScan组件扫描 SpringBootApplication ComponentScan({"com.itheima","com.example"}) //指定要扫描的包 public class SpringbootWebConfig2Application {public static void main(String[] args) {SpringApplication.run(Sprin…

【贪心算法】121. 买卖股票的最佳时机 I Leetcode 122. 买卖股票的最佳时机 II

【贪心算法】121. 买卖股票的最佳时机 I Leetcode 122. 买卖股票的最佳时机 II 121. 买卖股票的最佳时机 I贪心算法&#xff1a;遍历每一天卖出金额&#xff0c;一边计算卖出金额减之前的最小值&#xff0c;一边更新该卖出day前的最小金额 122. 买卖股票的最佳时机 II贪心算法…

Springboot+vue的商业辅助决策系统的设计与实现(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的商业辅助决策系统的设计与实现&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的商业辅助决策系统的设计与实现&#xff0c;采…

C++ //练习 10.17 重写10.3.1节练习10.12(第345页)的程序,在对sort的调用中使用lambda来代替函数compareIsbn。

C Primer&#xff08;第5版&#xff09; 练习 10.17 练习 10.17 重写10.3.1节练习10.12&#xff08;第345页&#xff09;的程序&#xff0c;在对sort的调用中使用lambda来代替函数compareIsbn。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xf…

数据库原理(一)

1、基本概念 学号姓名性别出生年月籍贯220101张三男2003江苏220102李四男2003山东220103王五女2003河北220104赵六女2003天津220105张四男2003北京220106李五女2003江苏220107王六女2003山东220108张七男2003河北220109张九男2003天津220110李十女2003北京 1.1数据&#xff0…

《系统架构设计师教程(第2版)》第5章-软件工程基础知识-05-净室软件工程(CSE)

文章目录 1. 概述2. 理论基础2.1 函数理论2.2 抽样理论 3. 技术手段3.1 增量式开发3.2 基于函数的规范与设计3.3 正确性验证3.4 统计测试 (Statistically Based Testing) 和软件认证 4. 应用与缺点1&#xff09;太理论化2&#xff09;缺少传统模块测试3&#xff09;带有传统软件…

频率域采样

1. 频率域采样 (1) 采样的过程&#xff1a;DFT的X(k)是对周期且连续的频谱X()在[0,2pi)上的等间隔采样&#xff0c;采N个点得到的&#xff0c;采样间隔是&#xff1b;频域采样要求时域有限&#xff0c;即假设x(n)的长度是有限值M&#xff0c;x(n)的SFT是X()。 (2) X(k) 做IDF…

YOLOv9有效提点|加入BiFormer、SEA、EMA、Efficient se等几十种注意力机制(三)

专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;主力高效涨点&#xff01;&#xff01;&#xff01; 一、本文介绍 本文只有代码及注意力模块简介&#xff0c;YOLOv9中的添加教程&#xff1a;可以看这篇文章。 YOLOv9有效提点|加入SE、CBAM、ECA、SimA…

svn介绍 4.0

一、svn介绍&#xff08;版本控制工具&#xff09; 1、svn的定义&#xff1a; svn是一个开放源代码的版本控制系统&#xff0c;通过采用分支管理系统的高效管理&#xff0c;简而言之就是用于多个人共同开发同一个项目&#xff0c;实现共享资源&#xff0c;实现最终集中式个管…

全球十大正规伦敦金交易平台app软件最新排名(综合版)

伦敦金作为当前国际市场中较为成熟、灵活的投资产品自然备受青睐&#xff0c;但投资者在选择交易软件时&#xff0c;应该尽量选择在行业内排名较高&#xff0c;口碑较好的平台&#xff0c;这样才能获得可靠的投资服务。刚开始不太懂得如何选择伦敦金软件的时候&#xff0c;投资…

Carla自动驾驶仿真九:车辆变道路径规划

文章目录 前言一、关键函数二、完整代码效果 前言 本文介绍一种在carla中比较简单的变道路径规划方法&#xff0c;主要核心是调用carla的GlobalRoutePlanner模块和PID控制模块实现变道&#xff0c;大体的框架如下图所示。 一、关键函数 1、get_spawn_point(),该函数根据指定r…

如何查看docker容器里面运行的nginx的配置文件哪

要查看Docker容器内运行的Nginx配置文件的位置&#xff0c;你可以通过进入容器的shell环境来直接查看。Nginx的默认配置文件通常位于/etc/nginx/nginx.conf&#xff0c;而网站特定的配置文件通常位于/etc/nginx/conf.d/目录中。以下是步骤来查看这些配置文件&#xff1a; 步骤…

【嵌入式学习】网络编程day0229

一、思维导图 二、练习 TCP通信 服务器 #include <myhead.h> #define SER_IP "192.168.126.42" #define SER_PORT 8888 int main(int argc, const char *argv[]) {int wfd-1;//创建套接字if((wfdsocket(AF_INET,SOCK_STREAM,0))-1){perror("error"…

基于CNN-LSTM-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络&#xff08;CNN&#xff09;在时间序列中的应用 4.2 长短时记忆网络&#xff08;LSTM&#xff09;处理序列依赖关系 4.3 注意力机制&#xff08;Attention&#xff09; 5…

探索数据结构:深入了解顺序表的奥秘

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 贝蒂的主页&#xff1a;Betty’s blog 1. 什么是顺序表 顺序表是用一段物理地址连续的存储单元依次存储数据元…