最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)導入csv的示例代碼

 更新時間:2024年03月19日 11:37:53   作者:IT行業(yè)小趴菜  
這篇文章主要為大家詳細介紹了Java實現(xiàn)導入csv的相關(guān)知識,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以跟隨小編一起學習一下

前言

大概內(nèi)容:本文是在springboot項目中新建一個子模塊專門用于執(zhí)行定時任務(wù)讀取本地window的csv文件,下面是實際操作步驟;

文檔樣例

一、引入依賴

pom.xml中引入關(guān)鍵依賴

	<dependencies>
        <!--csv文件操作-->
        <dependency>
            <groupId>net.sourceforge.javacsv</groupId>
            <artifactId>javacsv</artifactId>
            <version>2.0</version>
        </dependency>

		<!-- io常用工具類 -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.11.0</version>
        </dependency>
    </dependencies>

下面的依賴根據(jù)需要自行選擇

        <!-- Lombok
        主要常用的注解有:@Data,@Getter,@Setter,@Slf4j
        @Data注解:在JavaBean中使用,它包含getter、setter、toString、equals、hashCode方法,即當使用當前注解時,會自動生成@Data包含的所有方法;
        @getter注解:在JavaBean中使用,此注解會生成對應的getter方法;
        @setter注解:在JavaBean中使用,此注解會生成對應的setter方法;
        @NoArgsConstructor注解:在JavaBean中使用,使用此注解會生成對應的無參構(gòu)造方法;
        @AllArgsConstructor注解:在JavaBean中使用,使用此注解會生成對應的有參構(gòu)造方法;
        @ToString注解:在JavaBean中使用,使用此注解會自動重寫對應的toStirng方法;
        @EqualsAndHashCode注解:在JavaBean中使用,使用此注解會自動重寫對應的equals方法和hashCode方法;
        @Slf4j:在需要打印日志的類中使用,當項目中使用了slf4j打印日志框架時使用該注解,會簡化日志的打印流程,只需調(diào)用info方法即可;
        @Log4j:在需要打印日志的類中使用,當項目中使用了log4j打印日志框架時使用該注解,會簡化日志的打印流程,只需調(diào)用info方法即可;
        -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
        </dependency>
        <!--工具類-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.7.3</version>
        </dependency>
        
        <!--springboot依賴-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

二、application.yml配置

這里注意path的路徑

# Spring配置
spring:
  port: 9002
  servlet:
    # 應用的訪問路徑
    context-path: /dq-shieldaccess

path:
  #盾構(gòu)機csv文件路徑
  csv: F:\dq\r.csv

三、啟動類

具體實現(xiàn)類

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 注釋: 入口
 *
 * @author yangyongzhuo 2022/11/18 9:17
 */
@SpringBootApplication
public class ShieldAccessApplication {
    public static void main(String[] args) {
        SpringApplication.run(ShieldAccessApplication.class, args);
        System.out.println("(????)??  盾構(gòu)數(shù)據(jù)接入程序 啟動成功   ?(′?`?)?  \n");
    }
}

四、具體實現(xiàn)

這是定時任務(wù)類,如不需要定時只需關(guān)注具體實現(xiàn)代碼

import cn.hutool.core.date.DateUtil;
import com.csvreader.CsvReader;
import com.manager.shieldaccess.entity.CsvEntity;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;

import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.Map;

/**
 * 注釋: 盾構(gòu)數(shù)據(jù)接入控制器
 *
 * @author yangyongzhuo 2022/11/17 20:01
 */
@Slf4j
@Configuration
@EnableScheduling
public class ShieldAccessTask {

    @Value("${path.csv}")
    private String excelPath;
    /**
     * 每十秒執(zhí)行一次
     */
    private final String CRON_10SEC = "0/10 * * * * ?";

    /**
     * 注釋: 用于定時讀取盾構(gòu)數(shù)據(jù)
     *
     * @return java.util.Map<java.lang.String, java.lang.Object>
     * @author yangyongzhuo 2022/11/18 9:31
     */
    @Scheduled(cron = CRON_10SEC)
    public Map<String, Object> importData() {
        Map<String, Object> map = new HashMap<>();
        CsvReader reader = null;

        try {
            CsvEntity csvEntity = null;
            reader = new CsvReader(excelPath, ',', Charset.forName("UTF-8"));
            int sum = 0;
            //以每一行的形式去讀取,此代碼意思為前兩行不讀,只讀第三行,封裝對象
            while (reader.readRecord()) {
                ++sum;
                if (sum > 2) {
                    csvEntity = new CsvEntity(reader.get(0), reader.get(1), reader.get(2), reader.get(3),
                            reader.get(4), reader.get(5), reader.get(6), reader.get(7), reader.get(8), reader.get(9));
                    map.put("executeTime", DateUtil.date());
                    map.put("data", csvEntity);
                }
            }
            //開始:在這里寫Mysql入庫的代碼
				
            //結(jié)束
        } catch (Exception e) {
            log.error("讀取文件異常:{}", DateUtil.date());
            e.printStackTrace();
        } finally {
            reader.close();
        }
        return map;
    }
}

這是創(chuàng)建的接收文件類

import com.manager.shieldaccess.util.read.Excel;

import java.io.Serializable;

/**
* 注釋: csv文件對象
* @return
*
* @author yangyongzhuo 2022/11/17 19:32
*/
public class CsvEntity implements Serializable {
   private static final long serialVersionUID = 1L;

   private String RingNo;
   private String RecordDate;
   private String RecordTime;
   private String SystemCondition;
   @Excel("導向里程,m")
   private String param1;
   @Excel("導向俯仰角,° ")
   private String param2;
   @Excel("導向滾動角,° ")
   private String param3;

   @Excel("導向前盾垂直偏差,mm")
   private String param4;
   @Excel("導向尾盾水平偏差,mm")
   private String param5;
   @Excel("導向尾盾水平偏差,mm")
   private String param6;
   @Excel("導向尾盾垂直偏差,mm")
   private String param7;
   @Excel("導向水平傾度,mm/m")
   private String param8;
   @Excel("導向豎直傾度,mm/m")
   private String param9;
}

備注注解

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 注釋: 備注注解
 *
 * @author yangyongzhuo 2022/11/18 10:56
 */
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Excel {

    String value() default "";
}

以上就是Java實現(xiàn)導入csv的示例代碼的詳細內(nèi)容,更多關(guān)于Java導入csv的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 解決Jenkins集成SonarQube遇到的報錯問題

    解決Jenkins集成SonarQube遇到的報錯問題

    本文給大家分享Jenkins集成SonarQube遇到的報錯問題及解決方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-07-07
  • spring cloud gateway使用 uri: lb://方式配置時,服務(wù)名的特殊要求

    spring cloud gateway使用 uri: lb://方式配置時,服務(wù)名的特殊要求

    這篇文章主要介紹了spring cloud gateway使用 uri: lb://方式配置時,服務(wù)名的特殊要求,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • java中將一個實體類復制到另一個實體類的3種方法示例

    java中將一個實體類復制到另一個實體類的3種方法示例

    這篇文章主要給大家介紹了關(guān)于java中將一個實體類復制到另一個實體類的3種方法,所謂實體類就是一個擁有Set和Get方法的類,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • 淺談一下Java中的訪問修飾符以及作用

    淺談一下Java中的訪問修飾符以及作用

    這篇文章主要介紹了淺談一下Java中的訪問修飾符以及作用,修飾符修飾的是“被訪問”的權(quán)限,所有修飾符都可以修飾成員變量,方法,構(gòu)造方法,需要的朋友可以參考下
    2023-05-05
  • 不看后悔!揭秘游戲服務(wù)器開發(fā)

    不看后悔!揭秘游戲服務(wù)器開發(fā)

    剛開始時以為做游戲服務(wù)器和做web差不多,但是經(jīng)過一段時間之后,才發(fā)現(xiàn)代碼太多,太亂了,這里我把一些游戲開發(fā)方面的東西整理一下,希望能對那些想做游戲服務(wù)器開發(fā)的朋友有所幫助
    2021-06-06
  • jcl與jul?log4j1?log4j2?logback日志系統(tǒng)機制及集成原理

    jcl與jul?log4j1?log4j2?logback日志系統(tǒng)機制及集成原理

    這篇文章主要介紹了jcl與jul?log4j1?log4j2?logback的集成原理,Apache?Commons-logging?通用日志框架與日志系統(tǒng)的機制,有需要的朋友可以借鑒參考下
    2022-03-03
  • idea中使用SonarLint進行代碼規(guī)范檢測及使用方法

    idea中使用SonarLint進行代碼規(guī)范檢測及使用方法

    這篇文章主要介紹了idea中使用SonarLint進行代碼規(guī)范檢測,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Java使用正則表達式進行匹配且對匹配結(jié)果逐個替換

    Java使用正則表達式進行匹配且對匹配結(jié)果逐個替換

    這篇文章主要介紹了Java使用正則表達式進行匹配且對匹配結(jié)果逐個替換,文章圍繞主題展開詳細的內(nèi)容戒殺,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • org.springframework.beans.BeanInstantiationException異常解決

    org.springframework.beans.BeanInstantiationException異常解決

    本文主要介紹了org.springframework.beans.BeanInstantiationException異常解決,大多數(shù)情況下,這個異常是由于簡單的配置錯誤或者代碼問題導致的,下面就來具體解決一下
    2024-03-03
  • Spring Boot啟動端口修改方法

    Spring Boot啟動端口修改方法

    spring boot是個好東西,可以不用容器直接在main方法中啟動,而且無需配置文件,方便快速搭建環(huán)境。下面通過本文給大家分享Spring Boot修改啟動端口的方法,感興趣的的朋友一起看看吧
    2017-07-07

最新評論

石渠县| 集安市| 新宁县| 黄大仙区| 康定县| 松阳县| 黄大仙区| 儋州市| 南陵县| 合作市| 文山县| 安阳市| 屏山县| 灵丘县| 荆门市| 伊宁市| 泰兴市| 资兴市| 中江县| 越西县| 米泉市| 城固县| 察哈| 徐水县| 青浦区| 黄梅县| 富宁县| 陵水| 扎囊县| 古交市| 元氏县| 都安| 中西区| 定西市| 庄浪县| 安多县| 潜山县| 乡宁县| 嵩明县| 慈溪市| 三都|