gpt4 book ai didi

java - 如何使用java在azure文件存储帐户上写入CSV文件?

转载 作者:太空宇宙 更新时间:2023-11-04 10:59:46 25 4
gpt4 key购买 nike

我们将 CSV 文件创建到系统上的指定路径(例如在一个驱动器和某个文件夹路径中)的方式是,我们在创建 FileWriter 对象时使用 FileWriter 指定文件路径。类似地,我们如何使用java在azure文件存储中创建CSV文件?

我正在开发 spring mvc hibernate 应用程序,我需要从 SQL Server 读取数据并将该数据写入 csv 文件并将该文件放置到某个位置。该代码已经存在。但我现在需要将此数据写入 azure 文件存储位置。假设这是代码

    String csvFile = "/Users/amar/csv/developer.csv";
FileWriter writer = new FileWriter(csvFile);

List<Developer> developers = Arrays.asList(
new Developer("amar", new BigDecimal(120500), 32),
new Developer("zilap", new BigDecimal(150099), 5),
new Developer("ultraman", new BigDecimal(99999), 99)
);

//for header
CSVUtils.writeLine(writer, Arrays.asList("Name", "Salary", "Age"));

for (Developer d : developers) {

List<String> list = new ArrayList<>();
list.add(d.getName());
list.add(d.getSalary().toString());
list.add(String.valueOf(d.getAge()));

CSVUtils.writeLine(writer, list);

//try custom separator and quote.
//CSVUtils.writeLine(writer, list, '|', '\"');
}

writer.flush();
writer.close();

现在我想做一些类似的事情,而不是writer.flush()

CloudFileDirectory sampleDir = rootDir.getDirectoryReference(path); 

cloudFile = sampleDir.getFileReference("csvfile.csv");
cloudFile.write(csvfile);

类似这样的东西。

所以我的问题是 azure api 中用于 java 的 csv filewriter 的替代品是什么。

最佳答案

根据我的经验,Azure File storage SDK没有提供类似的方法file.write(文件).

根据您的代码,您似乎创建了一个本地文件并向其中写入数据。然后您可以使用 uploadFromPath 方法将文件上传到 Azure 文件存储。

示例代码如下:

String csvFile = "/Users/amar/csv/developer.csv";
FileWriter writer = new FileWriter(csvFile);

List<Developer> developers = Arrays.asList(
new Developer("amar", new BigDecimal(120500), 32),
new Developer("zilap", new BigDecimal(150099), 5),
new Developer("ultraman", new BigDecimal(99999), 99)
);

//for header
CSVUtils.writeLine(writer, Arrays.asList("Name", "Salary", "Age"));

for (Developer d : developers) {

List<String> list = new ArrayList<>();
list.add(d.getName());
list.add(d.getSalary().toString());
list.add(String.valueOf(d.getAge()));

CSVUtils.writeLine(writer, list);

//try custom separator and quote.
//CSVUtils.writeLine(writer, list, '|', '\"');
}

writer.flush();
writer.close();

CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);

CloudFileClient fileClient = storageAccount.createCloudFileClient();

CloudFileShare share = fileClient.getShareReference("test");

CloudFileDirectory rootDir = share.getRootDirectoryReference();

CloudFile file = rootDir.getFileReference("test.csv");

file.uploadFromPath(csvFile);

此外,您还可以使用upload方法将stream直接上传到Azure文件存储。

代码片段:

file.upload( new StringBufferInputStream("aaa"),"aaa".length());

希望对您有帮助。

关于java - 如何使用java在azure文件存储帐户上写入CSV文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47015570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com