小编Wil*_*lli的帖子

如何在Java中使用CsvMapper将标题动态分配给csv文件

有人可以帮忙吗?我被困在读取一个csv文件并将其序列化到POJO上。我正在使用杰克逊图书馆的CsvMapper。读取和序列化部分已完成并且工作正常。问题是,当用户移动标题/列时,导致序列化做出一些字母顺序的假设,即CSV文件上的值也是字母顺序的。
例如(下面的文件在第一行具有标题,第二行具有人员详细信息值) personNameHeader,personAgeHeader Wiliam,32

现在我的POJO如下

@JsonIgnoreProperties(ignoreUnknown = true)
// @JsonPropertyOrder(value = {"personNameHeader", "personAgeHeader" })
public class PersonDetailsCSVTemplate  {

@JsonProperty("personNameHeader")
private String name;

@JsonProperty("personAgeHeader")
private String age;

//Public constructor and getters and setters...
Run Code Online (Sandbox Code Playgroud)

这是从CSV读取值并将其映射到类的代码

import com.fasterxml.jackson.databind.MappingIterator;
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
...

    CsvMapper csvMapper = new CsvMapper();    
    CsvSchema schema = csvMapper.typedSchemaFor(PersonDetailsCSVTemplate.class).withHeader();
          MappingIterator<PersonDetailsCSVTemplate  > dataIterator = csvMapper.readerFor(PersonDetailsCSVTemplate.class).with(schema)
            .readValues(data);

     while (dataIterator.hasNextValue()) {
        PersonDetailsCSVTemplate dataCSV = dataIterator.nextValue();
}
Run Code Online (Sandbox Code Playgroud)

序列化之后,可以看出CsvMapper映射了以下内容: PersonDetailsCSVTemplate.name = "32"和PersonDetailsCSVTemplate.age = "Wiliam"

通过用注释类来@JsonPropertyOrder(value = {"personNameHeader", "personAgeHeader" })强制CSV始终是name列,然后是age列,这是不理想的。

任何人都可以提出他们认为可行的建议吗?问候

java csv mapping jackson-dataformat-xml

5
推荐指数
2
解决办法
5963
查看次数

如何使用 Java/REST 将 Azure blob 从一个存储容器移动到另一个存储容器?

有人可以帮忙吗?我正在关注 Java JDK 示例,其中有很多关于如何管理容器和 blob 的示例,但是没有说明如何从一个存储容器移动到另一个存储容器。

例如,我在 StorageOne/ContainerOne/BlobName 上有一个 blob 需要移动到 Storage2/ContainerTwo/BlobName

我正在查看这个网站https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/storage/azure-storage-blob/README.md但没有运气。

我还设法通过 ConnectionString 进行连接并创建、下载 blob,但无法弄清楚如何移动。

任何建议都会有帮助。我也尝试过在Azure中创建一个App Function来做到这一点,但是我的powershell技能并不好。

谢谢

java powershell blob azure

4
推荐指数
1
解决办法
3852
查看次数

如何使用Java中的RegEx模式检查LinkedIn Web链接?

谁能帮我吗?我正在使用Java中的URL链接进行验证。我创建了一个正则表达式(我不熟悉)来验证链接,但是我为此感到吃力。

代码如下:

public class TestRegEx {

    public static void main(final String[] args) {

        // List of valid URLs
        List<String> validValues = new ArrayList<>();
        validValues.add("https://www.linkedin.com/sometext");
        validValues
                .add("https://uk.linkedin.com/in/wiliam-ferraciolli-a9a29795");
        validValues.add("https://it.linkedin.com/hp/");
        validValues.add("https://cy.linkedin.com/hp/");
        validValues
                .add("https://www.linkedin.com/profile/view?id=AAIAABQnNlYBIx8EtS5T1RTUbxHQt5Ww&trk=nav_responsive_tab_profile");


        // List on invalid URLs
        List<String> invalidValues = new ArrayList<>();
        invalidValues.add("http://www.linkedin.com/sometext");
        invalidValues.add("http://stackoverflow.com/questions/ask");
        invalidValues.add("google.com");
        invalidValues.add("http://uk.linkedin.com/in/someDodgeAddress");
        invalidValues.add("http://dodge.linkedin.com/in/someDodgeAddress");

        // Pattern
        String regex = "(https://)(.+)(www.)(.+)$";
        Pattern pattern = Pattern.compile(regex);

        for (String s : validValues) {
            Matcher matcher = pattern.matcher(s);
            System.out.println(s + " // " + matcher);
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

谁能帮助我创建一个正则表达式来验证以下 前缀: “ https://” 可选前缀: …

java regex url-pattern

2
推荐指数
1
解决办法
3323
查看次数

如何格式化日期/时间字符串?(Java)

嗨,有人可以帮忙吗?我正在尝试格式化日期和时间字符串。目前看起来像这样“ 20160112T110000Z”我需要它是“ 2016-01-12T11:00:00Z”

没有特殊字符的字符串从第3方重复库中返回。我需要先将其转换为具有特殊字符,然后再将其解析为Calendar对象。

有人可以帮忙吗?

到目前为止,我的代码如下所示:

 final String TIMEFORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'";
 String string = "20160112T110000Z";
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
    Date date = format.parse(string);
    System.out.println(date); 
Run Code Online (Sandbox Code Playgroud)

但是,这是行不通的。

任何建议表示赞赏

java parsing calendar

1
推荐指数
1
解决办法
1万
查看次数