Commons-IO

如何在Java中逐行读取文件

帅比萌擦擦* 提交于 2021-02-20 08:54:39
本文翻译自 How to read a file line by line in Java 有时我们想逐行读取一个文件来处理内容。 一个很好的例子是 逐行读取CSV文件 ,然后将其用逗号(,)分成多列。 在Java中,当您需要逐行读取文件时,有多种选项可供选择。 1.Scanner Scanner 类提供了用Java逐行读取文件的最简单方法。 我们可以使用 Scanner 类打开文件,然后逐行读取其内容。 Scanner程序使用定界符模式将其输入分为令牌,在本例中为新行: try { // open file to read Scanner scanner = new Scanner(new File("examplefile.txt")); // read until end of file (EOF) while (scanner.hasNextLine()) { System.out.println(scanner.nextLine()); } // close the scanner scanner.close(); } catch (FileNotFoundException ex) { ex.printStackTrace(); } 如果此扫描程序的输入中有另一行而不推进文件读取位置,则 hasNextLine() 方法将返回 true 。 要读取数据并移至下一行

Freemarker详解(二)

跟風遠走 提交于 2020-08-20 05:39:51
这一篇续上篇, 让我们继续来学习一下,Freemarker,话不多说,煌sir带你上干货~~ 一. 其他指令 1.运算符 算数运算符:FreeMarker表达式中完全支持算术运算 算数运算符 + - * / % 逻辑运算符 逻辑 运算符 描述 && 逻辑与 || 逻辑或 ! 逻辑非 比较运算符 比较 运算符 描述 == 判断两个值是否相等 != 判断两个值是否不等 >或者gt 判断左边值是否大于右边值 >=或者gte 判断左边值是否大于等于右边值 <或者lt 判断左边值是否小于右边值 <=或者lte 判断左边值是否小于等于右边值 注意:>、>=、<、<= 可能出现与预期结果不一致的情况,建议使用等效的字母 实例 <#if num > 60 > num大于60 </#if> 如果num为100,num表示条件成立,输出结果: 60 > num 大于 60 建议编写方式 <#if num gt 60 > num大于60 </#if> 2. 空值处理 判断某变量是否存在使用 “??” 变量?? ,如果不为空返回true,如果为空返回false Controller: @GetMapping ( "/if" ) public String _if(Model model) { //设置数据 model.addAttribute( "token" , 1234 ); model

文件的上传和下载(javaweb)

落花浮王杯 提交于 2020-08-14 02:38:24
1、文件的上传介绍 1、要有一个 form 标签,method=post 请求 2、form 标签的 encType 属性值必须为 multipart/form-data 值 3、在 form 标签中使用 input type=file 添加上传的文件 4、编写服务器代码(Servlet 程序)接收,处理上传的数据。 encType=multipart/form-data 表示提交的数据,以多段(每一个表单项一个数据段)的形式进行拼 接,然后以二进制流的形式发送给服务器 初步上传代码: //jsp上传 < form action = "/web1/Me" method = "post" enctype = "multipart/form-data" > 用户: < input type = "text" name = "user" / > < br > 头像: < input type = "file" name = "photo" / > < br > < input type = "submit" value = "上传" > < / form > //接受Me需要在web.xml配置好 public class Me extends HttpServlet { @Override protected void doPost ( HttpServletRequest req ,

编译-集成hadoop-eclipse-plugin到eclipse

馋奶兔 提交于 2020-08-11 18:13:46
0),软件准备 以下软件无特殊说明均为windows平台 hadoop2.7.5 jdk1.8 eclipse任意版本 windows平台 hadoop2x-eclipse-plugin包下载自github(如果太慢可以将项目克隆至码云再下载) ant-1.10.7 1),编译准备 修改hadoop2x-eclipse-plugin解压目录中src\contrib\eclipse-plugin\build.xml。 <path id="eclipse-sdk-jars"> <fileset dir="C:\Users\Administrator\.p2\pool\plugins"> 该目录为eclipseui资源目录可在eclipse\configuration中通过config.ini查看具体目录 <target name="compile" depends="ivy-init,ivy-resolve-common" unless="skip.contrib">将属性depends删除 然后在 javac 标签中加上 includeantruntime="on" 找到copy标签然后添加以下3行: <copy file="${hadoop.home}/share/hadoop/common/lib/servlet-api-${servlet-api.version}.jar"

CKEditor 5 + SpringBoot实战(四):SpringBoot 实现文件上传

与世无争的帅哥 提交于 2020-08-11 11:07:55
在本系列的文章中,我将介绍如何在Spring Boot Application中使用CKEditor编辑器。介绍的内容包括基本环境的搭建,文件上传,SpringData JPA数据持久化,CKEditor5的安装,CKEditor图片上传,CKEditor插入视频,获取/设置CKEditor内容等。 在本章节中,主要介绍的内容是在SpringBoot中实现图片上传功能,其中包括上传路径的设置,图片路径映射和上传业务代码的编写。 文件上传 所谓的文件上传就是将客户端的资源通过网络传输到服务端,其本质就是IO流操作。服务端通过IO流读取客户端数据,然后对数据进行解析,获取目标文件数据后,将数据存储到服务端磁盘中。 引入依赖 要实现文件上传,首先需要将所需要的依赖包导入到项目中。这里我们仅导入commons-fileupload和commons-io依赖包。通常,commons-fileupload依赖需要和commons-io一起搭配使用,其中封装了大量的用于操作文件上传的功能,可以帮助我们简化文件上传代码的编写。打开pom.xml配置文件,并加入如下的配置: < dependency > < groupId > commons-fileupload </ groupId > < artifactId > commons-fileupload </ artifactId > <

java http大文件断点续传上传源码

二次信任 提交于 2020-08-07 21:30:49
1、介绍enctype enctype 属性规定发送到服务器之前应该如何对表单数据进行编码。 enctype作用是告知服务器请求正文的MIME类型(请求消息头content-type的作用一样) 1、1 enctype的取值有三种 值 描述 application/x-www-form-urlencoded 在发送前编码所有字符(默认) multipart/form-data 不对字符编码。每一个表单项分割为一个部件 text/plain 空格转换为 “+” 加号,但不对特殊字符编码。 1. 当enctype=’application/x-www-form-urlencoded’ 2.当enctype=’multipart/form-data’ 通过观察发现这个的请求体就发生了变化。这种请求体被称之为多部件请求体。 什么是多部件请求体:就是把每一个表单项分割为一个部件。 以请求头的content-type的boundary后面的一串随机字符串作为分割标识 普通表单项: //name的意思是文本框里面name的属性值,而admin是我们输入的文本值 Content-Disposition: form-data; name="username" admin 文件表单项 //filename的意思是:我们上传的文件名称,content-Type的意思是:MIME类型

在Java项目中使用Elasticsearch 6.x (一)对索引的增删改查

ぃ、小莉子 提交于 2020-08-07 04:08:01
一.项目包含的功能 1.高亮搜索; 2.词语自动补全; 3.分页查询; 4.复合查询; 5.对索引的增、删、改、查; 6.对文档的增、删、改; 7.搜索结果排序; 8.其他功能:文件读取(word、txt、pdf) 二.依赖环境版本 1.Elasticsearch 6.6.1; 2.jdk 1.8 3.前端分页插件:网上找的 4.elasticsearch-rest-high-level-client 6.6.1 5.spring boot 2.1.3 6.kibana 6.6.0 三.访问路径 1.项目路径:http://localhost:8080/searchTest.html 2.kibana路径:http://localhost:5601 3.Elasticsearch启动检测路径:http://localhost:9200/ 四.页面效果 五.代码 1.bean实体类 package com.demo.elasticsearch.bean; import java.util.Date; /** * @Author: ln * @Date: 2019/2/26 08:59 * @Description: */ public class FileBean { // text支持分词搜索的字段有:name,author,content,filePath //

MongoDB学习(三) --- MongoDB Java入门

别等时光非礼了梦想. 提交于 2020-08-06 14:51:44
1、搭建测试环境 步骤一:创建 maven 项目 父项目的pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.tqylxuecheng</groupId> <artifactId>xc_parent</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <modules> <module>xc_test_parent</module> </modules> <!-- 1 确定spring boot的版本--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot

简单Servlet的get/post请求获取参数

☆樱花仙子☆ 提交于 2020-08-06 13:45:31
一.通过maven创建一个servlet项目 二。将创建好的项目转化为web项目 三,pom文件 <? xml version ="1.0" encoding ="UTF-8" ?> <project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns: xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi :schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > <modelVersion> 4.0.0 </modelVersion> <groupId> com.huawei </groupId> <artifactId> servlet_demo </artifactId> <version> 1.0-SNAPSHOT </version> <dependencies> <!-- JUnit配置 --> <dependency> <groupId> junit </groupId> <artifactId> junit </artifactId> <version> 3.8.1 </version> <scope> test </scope>

java WebUploader 分片上传

故事扮演 提交于 2020-08-05 21:32:57
1、介绍enctype enctype 属性规定发送到服务器之前应该如何对表单数据进行编码。 enctype作用是告知服务器请求正文的MIME类型(请求消息头content-type的作用一样) 1、1 enctype的取值有三种 值 描述 application/x-www-form-urlencoded 在发送前编码所有字符(默认) multipart/form-data 不对字符编码。每一个表单项分割为一个部件 text/plain 空格转换为 “+” 加号,但不对特殊字符编码。 1. 当enctype=’application/x-www-form-urlencoded’ 2.当enctype=’multipart/form-data’ 通过观察发现这个的请求体就发生了变化。这种请求体被称之为多部件请求体。 什么是多部件请求体:就是把每一个表单项分割为一个部件。 以请求头的content-type的boundary后面的一串随机字符串作为分割标识 普通表单项: //name的意思是文本框里面name的属性值,而admin是我们输入的文本值 Content-Disposition: form-data; name="username" admin 文件表单项 //filename的意思是:我们上传的文件名称,content-Type的意思是:MIME类型