【问题标题】:Parse Pipe delimited File with Spring boot使用 Spring Boot 解析管道分隔文件
【发布时间】:2020-03-10 16:10:28
【问题描述】:

我有一个 Excel 文件,该文件在 A 列中有用于数字行的管道分隔数据。第一行有日期,然后是数据。每行都有额外的数据,但我只想要每行中的前 3 个字段(帐户名、帐号、帐户域)。最后一行包含每个文件中的行计数。下面是文件示例

20200310|
Mn1223|01192|windows|extra|extra|extra||
Sd1223|02390|linux|extra|extra|extra||
2

我创建了一个 Spring Boot Java 应用程序并设置了我的数据库配置。我需要帮助创建一个能够解析文件并将数据插入表中并与行数进行比较以匹配的服务。我正在按照此示例进行指导,但我的文件不是 csv https://howtodoinjava.com/spring-batch/csv-to-database-java-config-example/

【问题讨论】:

  • 能否请您展示一下您到目前为止所做的工作以及遇到了什么问题?
  • @Jags 除了设置我的数据库配置之外,我还没有做任何事情。这对我来说是相当新的,所以我现在只是想读取文件并坚持下去

标签: java spring-boot datatable csv


【解决方案1】:

你可以这样解析文件:

List<DataToInsert> parseData(String filePath) throws IOException {

        List<String> lines = Files.readAllLines(Paths.get(filePath));

        // remove date and amount
        lines.remove(0);
        lines.remove(lines.size() - 1);

        return lines.stream()
                .map(s -> s.split("[|]")).map(val -> new DataToInsert(val[0], val[1], val[2])).collect(Collectors.toList());
    }

你的班级是这样的:

class DataToInsert {
    private final String accountName;
    private final String accountNumber;
    private final String accountDomain;

    public DataToInsert(String accountName, String accountNumber, String accountDomain) {
        this.accountName = accountName;
        this.accountNumber = accountNumber;
        this.accountDomain = accountDomain;
    }

    public String getAccountName() {
        return accountName;
    }

    public String getAccountNumber() {
        return accountNumber;
    }

    public String getAccountDomain() {
        return accountDomain;
    }
}

【讨论】:

  • 我已经像这样设置了我的课程,但我试图解决的真正问题是解析文件而不是我输入的字符串。此文件将多次更改但格式相同
  • 如果文件不是很大,您仍然可以将文件解析为字符串,然后更轻松地解析它
  • 我编辑了我的回复来处理一个文件。这是你要找的吗?
  • 这就是我要找的东西,谢谢。你能告诉我代码的加载部分是什么样的吗?或者代码中的插入 sql 语句是什么样的
  • 我也说string filepath = "address.txt" 1或者我把文件的地址放在哪里
猜你喜欢
  • 2013-04-04
  • 1970-01-01
  • 2020-03-01
  • 2021-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-18
相关资源
最近更新 更多