精华内容
下载资源
问答
  • = null) { // ‘\r’是为了在前端展示时换行 stringBuilder.append(lineString).append("\r"); lineString = bufferedReader.readLine(); } } catch (Exception e) { e.printStackTrace(); } finally { if ...
    public ResultVo viewLog(String taskId) {
            StringBuilder stringBuilder = new StringBuilder();
            FileInputStream fileInputStream = null;
            InputStreamReader inputStreamReader = null;
            BufferedReader bufferedReader = null;
            try {
                //创建文件
                File file = new File("D:\\logs\\rpa\\batch_info.log");
                //获取文件输入流
                fileInputStream = new FileInputStream(file);
                //使用utf-8读流
                inputStreamReader = new InputStreamReader(fileInputStream, StandardCharsets.UTF_8);
                bufferedReader = new BufferedReader(inputStreamReader);
                //读行
                String lineString = bufferedReader.readLine();
                //判断,是否数据
                while (lineString != null) {
                    // ‘\r’是为了在前端展示时换行
                    stringBuilder.append(lineString).append("\r");
                    lineString = bufferedReader.readLine();
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (fileInputStream != null) {
                    try {
                        fileInputStream.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if (inputStreamReader != null) {
                    try {
                        inputStreamReader.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if (bufferedReader != null) {
                    try {
                        bufferedReader.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
            return ResultVo.ok().put("log",stringBuilder.toString());
        }
    
    展开全文
  • 导入 .jar包 ,使用Maven时,不需要手动导入 jar包 ,在pom.xml文件中加入依赖即可,加入之后点击右侧Maven图标,并按刷新按钮,Maven会自动更新和下载jar包(如图) 有些需要本地导入的jar包,操作方法如下: 将...

    直接上运行效果


    注意事项(代码较多,放在后面)

    1. 导入 .jar包 ,使用Maven时,不需要手动导入 jar包 ,在pom.xml文件中加入依赖即可,加入之后点击右侧Maven图标,并按刷新按钮,Maven会自动更新和下载jar包(如图)

    1. 有些需要本地导入的jar包,操作方法如下:
    •  将jar包导入Maven本地仓库,然后可以在项目中使用

     在cmd窗口中输入下面的代码,即可将jar包导入本地仓库

    mvn install:install-file 
    -Dfile=G:\File\JavaTool_File\jar\common-fileUpLoad\commons-fileupload-1.4.jar 
    -DgroupId=RedMaple 
    -DartifactId=FileUpLoad.sources 
    -Dversion=1.0 
    -Dpackaging=jar

    Dfile 为绝对路径

    DgroupId,DartifactId,Dversion 分别对应pom.xml文件中的groupId,artifactId,version

    Dpacking=jar 照抄,注意D前面都有 - 号

    成功后,就在pom.xml的 dependency中加入如下内容即可

    <dependency>
          <groupId>RedMaple</groupId>
          <artifactId>Commons.lang3</artifactId>
          <version>1.0</version>
    </dependency>

    关于Java接收上传文件具体内容

    • 需要引入的依赖
    <!--Common-FileUpLoad包-->
    <dependency>
        <groupId>RedMaple</groupId>
        <artifactId>FileUpLoad.sources</artifactId>
        <version>1.0</version>
    </dependency>
    <!--Common-Io包-->
    <dependency>
       <groupId>RedMaple</groupId>
       <artifactId>Commons.Io</artifactId>
       <version>1.0</version>
    </dependency>
    // Servlet 文件上传
    public class UploadServlet extends HttpServlet
    {
        public void doPost(HttpServletRequest req, HttpServletResponse res)
                throws IOException, ServletException {
            res.setContentType("text/plain;charset=UTF-8");
            PrintWriter pw = res.getWriter();
            try{
    
                DiskFileItemFactory diskFactory = new DiskFileItemFactory();
    
                // threshold 极限、临界值,即硬盘缓存 1M
                diskFactory.setSizeThreshold(4 * 1024);
    
                // repository 贮藏室,即临时文件目录
                diskFactory.setRepository(new File("G:\\File\\Temp_File"));
    
                ServletFileUpload upload = new ServletFileUpload(diskFactory);
    
                // 设置允许上传的最大文件大小 4M
                upload.setSizeMax(4 * 1024 * 1024);
    
                // 解析HTTP请求消息头(得到请求参数的集合)
                List<FileItem> fileItems = upload.parseRequest(req);
    
                // 进行迭代
                Iterator<FileItem> iter = fileItems.iterator();
                while(iter.hasNext())
                {
                    FileItem item = (FileItem)iter.next();
                    
                    // 判断是否是普通表单
                    if(item.isFormField())
                    {
                        // 是普通表单
                        System.out.println("处理表单内容 ...");
                        processFormField(item, pw);
                    }else{
                        // 不是普通表单
                        System.out.println("处理上传的文件 ...");
                        processUploadFile(item, pw);
                    }
                }
            }catch(Exception e){
                System.out.println("使用 fileupload 包时发生异常 ...");
                e.printStackTrace();
            }finally{
                pw.close();
            }
        }
        
        // 处理表单内容
        private void processFormField(FileItem item, PrintWriter pw) throws Exception {
            String name = item.getFieldName();    // 获取参数名称
            String value = item.getString();      // 获取值
        }
    
        // 处理上传的文件
        private void processUploadFile(FileItem item, PrintWriter pw) throws Exception {
    
            // 不同浏览器得到的getName()是不一样的,是否要加工再具体讨论
            // 有的是绝对路径有的是文件名
            String filename = item.getName();
            
            // 获取文件大小
            long fileSize = item.getSize();
            
            // 创建一个接收该文件的文件模板
            File uploadFile = new File("G:\\File\\Txt_File" + "/" + filename);
    
            //将文件读取并写入模板中
            item.write(uploadFile);
        }
    }

    用到的Gson类

    • 要用到的依赖
    <dependency>
          <groupId>com.google.code.gson</groupId>
          <artifactId>gson</artifactId>
          <version>2.8.3</version>
    </dependency>
    // 将 filesArrayList对象 变为 Json字符串
    Gson gson = new Gson();
    json = gson.toJson(filesArrayList);

    最后,使用了Maven的pom.xml 文件之后,似乎不需要WEB-INF文件夹下的lib文件夹来存放jar包了。(刚用Maven不久,只是猜测,有人会的话可以评论教教我) 


    核心代码

    接收并将文件信息存入数据库

    // Servlet 文件上传
    public class UploadServlet extends HttpServlet
    {
        public void doPost(HttpServletRequest req, HttpServletResponse res)
                throws IOException, ServletException {
    
            res.setContentType("text/html;charset=utf-8");
            PrintWriter pw = res.getWriter();
            try{
                DiskFileItemFactory diskFactory = new DiskFileItemFactory();
                // threshold 极限、临界值,即硬盘缓存 1M
                diskFactory.setSizeThreshold(4 * 1024);
                // repository 贮藏室,即临时文件目录
                diskFactory.setRepository(new File("G:\\File\\Temp_File"));
                ServletFileUpload upload = new ServletFileUpload(diskFactory);
                // 设置允许上传的最大文件大小 1G
                upload.setSizeMax(1024 * 1024 * 1024);
                // 解析HTTP请求消息头
                List<FileItem> fileItems = upload.parseRequest(req);
                Iterator<FileItem> iter = fileItems.iterator();
                while(iter.hasNext()) {
                    FileItem item = (FileItem) iter.next();
                    if(!item.isFormField()){
                        System.out.println("处理上传的文件 ...");
                        processUploadFile(item,pw,req,res);
                    }
                }
            }catch(Exception e){
                System.out.println("使用 fileupload 包时发生异常 ...");
                e.printStackTrace();
            }finally {
                pw.close();
            }
        }// end doPost()
    
        // 处理上传的文件
        private void processUploadFile(FileItem item, PrintWriter pw,HttpServletRequest req
                    ,HttpServletResponse res) throws Exception {
            // 此时的文件名包含了完整的路径,得注意加工一下
            String fileName = item.getName();
            int index = fileName.lastIndexOf(".");
            String extension = fileName.substring(index+1,fileName.length());
            long fileSize = item.getSize();
            String filePath = "G:\\File\\Temp_File" + "/" + fileName;
            Date date = new Date();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            String time = sdf.format(date);
            File uploadFile = new File(filePath);
            item.write(uploadFile);
            Files files = new Files(fileName,String.valueOf(fileSize),filePath,time);
            addFile(files);
            req.getRequestDispatcher("T03.jsp").forward(req,res);
        }
    
        private void addFile(Files files){
            Connection conn = Mysql.connection("filesys");
            String sql = "insert into file(filename,filesize,filepath,time) values(?,?,?,?);";
            PreparedStatement ps = Mysql.prepareStatement(conn,sql);
            Mysql.setString(ps,1,files.fileName);
            Mysql.setString(ps,2,files.fileSize);
            Mysql.setString(ps,3,files.filePath);
            Mysql.setString(ps,4,files.time);
            Mysql.executeUpdate(ps);
            Mysql.close(conn,ps);
        }
    }

     读取数据,并将数据以Json格式发送给前端AJAX

    public class GetDate extends HttpServlet {
        @Override
        public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException{
            String[] filesArrayList = new String[100];
            boolean flag = findFile(filesArrayList);
            String json = "{:}";
            if(flag){
                Gson gson = new Gson();
                json = gson.toJson(filesArrayList);
            }
            response.setContentType("text/html;charset=utf-8");
            PrintWriter pw = response.getWriter();
            pw.println(json);
        }
    
        private boolean findFile(String[] filesArrayList){
            boolean flag = false;
            Connection conn = Mysql.connection("filesys");
            String sql = "select * from file;";
            PreparedStatement ps = Mysql.prepareStatement(conn,sql);
            ResultSet rs = Mysql.executeQuery(ps);
            int i = 0;
            while(Mysql.next(rs)){
                String fileName = Mysql.getString(rs,"filename");
                String fileSize = Mysql.getString(rs,"filesize");
                String filePath = Mysql.getString(rs,"filepath");
                String time = Mysql.getString(rs,"time");
                Files files = new Files(fileName,fileSize,filePath,time);
                Gson gson = new Gson();
                filesArrayList[i++] = gson.toJson(files);
                flag = true;
            }
            Mysql.close(conn,ps);
            return flag;
        }
    }

    AJAX和JQuery联用,将文件信息在前端展示 

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ page isELIgnored="false"%>
    <html>
    <head>
        <script type='text/javascript' src='jQuery-3.6.js'></script>
        <script>
            $(function(){
                var data = '';
                var num = 1;
                $.get("get",data,function(resp){
                    $.each(resp,function(i,file){
                        if(file!=null){
                            var json = JSON.parse(file);
                            var index = json.fileName.lastIndexOf(".");
                            var extension = json.fileName.substring(index,json.fileName.length);
                            $("table").append(
                                "<tr>" +
                                "<td>" + (num++) +"</td>" +
                                "<td>" + json.fileName+"</td>" +
                                "<td>" + extension +"</td>" +
                                "<td>" + json.fileSize+"</td>" +
                                "<td>" + json.filePath+"</td>" +
                                "<td>" + json.time+"</td>" +
                                "<td>" + json.fileName+"</td>" +
                                "</tr>"
                            );
                        }
                    })
                },"json");
            })
        </script>
        <style>
            table{
                margin-top:10px;
                border:1px black solid;
            }
            .tableTitle{
                width:150px;
                background-color: rgb(130, 113, 204);
                color:white;
                font-size:17px;
            }
            td{
                text-align:center;
                outline: 1px white solid;
                background-color: rgb(222,223,222);
            }
        </style>
    </head>
    <body>
    <form action="upload" method="post" enctype="multipart/form-data">
        上传文件列表:
        <input type='file' id='file' name="file">
        <input type='submit' value='上传'>
    </form>
    <table>
        <tr>
            <td class='tableTitle'>自动序列</td>
            <td class='tableTitle'>文件名</td>
            <td class='tableTitle'>扩展名</td>
            <td class='tableTitle'>文件大小</td>
            <td class='tableTitle'>文件路径</td>
            <td class='tableTitle'>上传时间</td>
            <td class='tableTitle'>备注说明</td>
        </tr>
    </table>
    </body>
    </html>

    相关配置信息

    <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>
        </dependency>
        <!--加入Servlet依赖-->
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>3.0.1</version>
        </dependency>
        <dependency>
          <groupId>javax.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.1</version>
        </dependency>
        <dependency>
          <groupId>RedMaple</groupId>
          <artifactId>FileUpLoad</artifactId>
          <version>1.0</version>
        </dependency>
        <dependency>
          <groupId>RedMaple</groupId>
          <artifactId>FileUpLoad.sources</artifactId>
          <version>1.0</version>
        </dependency>
        <dependency>
          <groupId>RedMaple</groupId>
          <artifactId>Commons.Io</artifactId>
          <version>1.0</version>
        </dependency>
        <dependency>
          <groupId>RedMaple</groupId>
          <artifactId>Mysql</artifactId>
          <version>1.0</version>
        </dependency>
        <dependency>
          <groupId>com.google.code.gson</groupId>
          <artifactId>gson</artifactId>
          <version>2.8.3</version>
        </dependency>
        <dependency>
          <groupId>RedMaple</groupId>
          <artifactId>Commons.lang3</artifactId>
          <version>1.0</version>
        </dependency>
    </dependencies>

    展开全文
  • 我们做文本处理的时候的最常用的就是读写文件了,尤其是读取文件,不论是什么文件,我都倾向于一次性将文本的原始内容直接读取到内存中再做处理,当然,这需要你有一台大内存的机器,内存不够者……可以一次读取少...

    我们做文本处理的时候的最常用的就是读写文件了,尤其是读取文件,不论是什么文件,我都倾向于一次性将文本的原始内容直接读取到内存中再做处理,当然,这需要你有一台大内存的机器,内存不够者……可以一次读取少部分内容,分多次读取。

    读取文件效率最快的方法就是一次全读进来,很多人用readline()之类的方法,可能需要反复访问文件,而且每次readline()都会调用编码转换,降低了速度,所以,在已知编码的情况下,按字节流方式先将文件都读入内存,再一次性编码转换是最快的方式,典型的代码如下:

    public String readToString(String fileName) {

    String encoding = "UTF-8";

    File file = new File(fileName);

    Long filelength = file.length();

    byte[] filecontent = new byte[filelength.intValue()];

    try {

    FileInputStream in = new FileInputStream(file);

    in.read(filecontent);

    in.close();

    } catch (FileNotFoundException e) {

    e.printStackTrace();

    } catch (IOException e) {

    e.printStackTrace();

    }

    try {

    return new String(filecontent, encoding);

    } catch (UnsupportedEncodingException e) {

    System.err.println("The OS does not support " + encoding);

    e.printStackTrace();

    return null;

    }

    }

    作者:Refain

    展开全文
  • java读取文件并返回前端

    千次阅读 2021-04-27 13:15:49
    } catch (FileNotFoundException e) { System.out.println("文件不存在") } catch (IOException e) { e.printStackTrace(); } } @RequestMapping("download") public void download(String filename, ...
    package com.example.demo.controller;
    
    import org.apache.commons.io.Charsets;
    import org.apache.commons.io.FileUtils;
    import org.springframework.util.FileCopyUtils;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServletResponse;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.io.UnsupportedEncodingException;
    import java.net.URLEncoder;
    import java.util.List;
    
    @RestController
    @RequestMapping("file")
    public class TestController {
    
        @GetMapping(value = "/test1")
        public void test(String fileName, HttpServletResponse response) throws UnsupportedEncodingException {
            // 设置编码
            response.setCharacterEncoding("UTF-8");
            response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
            response.addHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode(fileName, "UTF-8"));
            String path = "D://logs/" + fileName;
            try {
                FileInputStream in = new FileInputStream(new File(path));
                FileCopyUtils.copy(in, response.getOutputStream());
            } catch (FileNotFoundException e) {
                System.out.println("文件不存在")
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        @RequestMapping("download")
        public void  download(String filename, HttpServletResponse res) throws IOException {
            String path = "D://logs/"+filename;
            res.setCharacterEncoding("UTF-8");
            // attachment是以附件的形式下载,inline是浏览器打开
            res.setHeader("Content-Disposition", "inline;filename="+filename+".txt");
            res.setContentType("text/plain;UTF-8");
            // 把二进制流放入到响应体中
            ServletOutputStream os = res.getOutputStream();
            File file = new File(path);
            byte[] bytes = FileUtils.readFileToByteArray(file);
            os.write(bytes);
            os.flush();
            os.close();
        }
    }
    

     

    展开全文
  • 目录 1.前端 2.后台代码 3.问题 基于jfinal框架。 ...不一定适用,但是流程是这个...需要jqueryjs文件,jquery.form.js文件 代码: html: <!--导入txt--> <form id="importform" class="form-hori...
  • 前端调用此接口获取图片: public void getPersonPic(String picName, HttpServletResponse response) throws IOException { ServletOutputStream outputStream = null; try { byte[] bytes = getPic(picName);...
  • 1、jsp 页面Insert title here 2、web.xml 配置ImgShowServletImgShowServletcom.jcc.demo.img2ie.servlet.ImgShowServletImgShowServlet/ImgShowServlet.servlet3、servlet代码protected void service...
  • 大家好,这是原创的文件上传源码哦。希望给大家带来参考价值。阅读注意:1.只给出了关键代码(但是绝大部分代码),需要自己小小润色一下。2.代码分为前端与后台,3.本人初学者,有错,望您指出。4.后台需要jar包支持...
  • 前端页面展示Markdown文件

    千次阅读 2021-06-28 09:14:26
    常我们都会在GitHub上浏览很多的readme文件,这些都是Markdown语法写成的Markdown文件,HTML中并没有用于展示Markdown文件的元素,那么为什么可以在前端展示呢?有别于GitHub官方给提供的API(有访问频率限制),我...
  • 想在浏览器里直接GET目标URL,然后就把PDF在浏览器里预览出来(不用前端插件的前提下),就像这样:http://docs.spring.io/spring/...后端代码:@RequestMapping(value = "/showPDF", method = RequestMethod.GET)...
  • 想在浏览器里直接GET目标URL,然后就把PDF在浏览器里预览出来(不用前端插件的前提下),就像这样:后端代码:@RequestMapping(value = "/showPDF", method = RequestMethod.GET)public ResponseEntity pdfDownload...
  • 最近项目有一个按照床位生成二维码图片返回给前端导出的需求,经过我的一番努力,在借鉴网上资料的同时修改完善出了自己的一套方便实用的生成方式。 写博客的目的有两个: 1、作为笔记以后自己方便使用。 2、分享给...
  • }catch(ConnectException e) { System.err.println("文件转换出错,请检查OpenOffice服务是否启动。"); e.printStackTrace(); } DocumentConverter converter= newOpenOfficeDocumentConverter(con); converter....
  • Java程序中,如何显示目录中的所有文件?以下示例显示如何使用File类的list()方法显示目录中包含的所有文件。package com.yiibai;import java.io.*;public class DisplayFilesInDirectory {public static void ...
  • //设置内容类型 response.setHeader("Content-Type", "video/mp4"); //设置此次相应返回的数据长度 response.setHeader("Content-Length", String.valueOf(fileLength - range)); //设置此次相应返回的数据范围 ...
  • 图片上传到后台之后, 需要加载显示在前端, 这里java后端就需要将图片以blob流的形式返回给前端, 前端再将文件流接收, 以url的形式动态赋值给<img>标签 上代码 后端java import java.io.File; import java.io...
  • 使用java创建pdf 并返回流给前端 业务需求,页面点击打印预览文件,然后点击打印调用系统(浏览器)打印,经网上查阅资料,自己整理后记录下来 首先是自己整理的帮助类 import cn.bt.common.utils.StringUtils; import ...
  • 一、业务需求 ...为流水号生成条码或二维码,批量存放到一个pdf文件中,并在前端显示。 二、思路 1.获取需要生成条码或二维码的数据 2.生成条码或二维码 3.存放到pdf文件中 4.输出到前端页面 三、参考资料 ...
  • java中Excel导入,下载模板,附带前端展示 后台下载模板代码 /** * 多个模板下载 */ @RequestMapping(value = "/downloadExcel", method = RequestMethod.GET) @ResponseBody public void downloadExcel...
  • 应用场景:图片上传至服务器至指定目录,前端请求返回base64字符串直接显示浏览图片。 以下是工具方法,直接调用 /** * 图片转化成base64字符串,返回的string可以直接在src上显示 * @param file 图片文件 * @...
  • 然后各种边框大多数采用圆角,因为自己比较喜欢这种圆润的样式 代码实现(只展示主要代码) 需要的文件大致为index.html,search.jsp,suggest.jsp,autocomplete.js(用于获取关键词联想) index.html form表单部分...
  • //修改头像publicvoideachJsonUpdatePicture(){try{if(employee.getRole()==null||employee.getRole().getRoleId()==null)employee.setRole(null);StringcropData=request.getParameter(“cropData”);...
  • 1,配置文件 2,获取项目相对路径 public class ApplicationHome { public static String getApplicationHome() { String applicationHome = System.getProperty("application_home"); String application_...
  • java前端开发看什么书

    2021-03-18 12:38:21
    1java前端开发看什么书随着互联网的发展,java随之横空崛起,成为了现在的热门编程语言之一,很多看到了这个行业的美好前景,都趋之若鹜奔向这个行业,因此很多人都想要学好这门java语言。那么下面小编给大家说说...
  • 需求: 系统前端jsp使用的是easyUi的datagrid展示了一些任务信息,任务信息中有个状态信息显示的值是数字,需要根据后台保存的映射关系,将状态显示为描述信息。原来的jsp前端显示:解决方案,在后台使用创建json数据...
  • 【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行!...业务场景:在涉及到文件上传的部分内容的时候,前端组件一般会走对应文件类型的限制,这里我.
  • java文件上传技术

    2021-03-06 00:19:41
    用到了Apache 的common-uploader jar包实现后台的文件...1.普通文件上传前端界面 编写请选择上传的文件:enctype 一定是 multipart/form-dataservletpackage cn.hjm.controller;import java.io.File;import java.io....
  • filename=" +java.net.URLEncoder.encode("json.json","utf-8")); Writer writer = new OutputStreamWriter(out); writer.write(jsonString); writer.flush(); writer.close(); } catch (IOException e) { e....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 63,462
精华内容 25,384
关键字:

前端展示java文件内容

java 订阅