質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

Q&A

解決済

1回答

3532閲覧

JavaでAWSのS3からCSVファイルを読み込んで中身を1行ずつ読み込んで処理したい

roco

総合スコア3

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

0グッド

0クリップ

投稿2020/05/21 07:27

前提・実現したいこと

以下のソースコードを記述したのですが出力として帰ってきた値が本来取得したいものと異なります。
どのようにしたら中身が取り出せますでしょうか?

発生している問題・エラーメッセージ

内容を一応隠すためxxxxxxxと表記しています。

[Ljava.lang.String;@xxxxxxx
[Ljava.lang.String;@xxxxxxx
[Ljava.lang.String;@xxxxxxx
[Ljava.lang.String;@xxxxxxx

該当のソースコード

Java

1package com.mycompany.app; 2 3import com.amazonaws.services.s3.AmazonS3; 4import com.amazonaws.services.s3.AmazonS3ClientBuilder; 5import com.amazonaws.services.s3.model.CSVInput; 6import com.amazonaws.services.s3.model.CSVOutput; 7import com.amazonaws.services.s3.model.S3Object; 8import com.amazonaws.SdkClientException; 9 10import com.amazonaws.AmazonServiceException; 11import com.amazonaws.auth.AWSCredentials; 12import com.amazonaws.auth.profile.ProfileCredentialsProvider; 13import com.amazonaws.auth.AWSStaticCredentialsProvider; 14import com.amazonaws.auth.BasicAWSCredentials; 15import com.amazonaws.regions.Regions; 16import com.amazonaws.services.s3.model.GetObjectRequest; 17import com.amazonaws.services.s3.model.ResponseHeaderOverrides; 18 19import java.io.File; 20import java.io.FileOutputStream; 21import java.io.InputStream; 22import java.io.OutputStream; 23import java.util.concurrent.atomic.AtomicBoolean; 24import java.io.BufferedReader; 25import java.io.IOException; 26import java.io.InputStreamReader; 27 28import static com.amazonaws.util.IOUtils.copy; 29 30public class App { 31 32 public static void main(String[] args) throws Exception { 33 34 String clientRegion = "ap-northeast-1"; 35 String bucketName = "バケット名"; 36 String key = "sample.csv"; 37 38 AWSCredentials credentials = new BasicAWSCredentials("アクセスキー", "シークレットキー"); 39 40 // クライアント生成 41 AmazonS3 client = AmazonS3ClientBuilder.standard() 42 .withCredentials(new AWSStaticCredentialsProvider(credentials)) 43 .withRegion(clientRegion) 44 .build(); 45 46 S3Object s3Object = client.getObject(bucketName, key); 47 48 InputStream is = null; 49 BufferedReader br = null; 50 51 try { 52 53 is = s3Object.getObjectContent(); 54 br = new BufferedReader(new InputStreamReader(is, "UTF-8")); 55 56 String line; 57 // CSVを1行ずつ読み込んで処理する。 58 while ((line = br.readLine()) != null) { 59 String[] data = line.split(",", 0); 60 System.out.println("------------------------------------"); 61 System.out.println(data); 62 } 63 64 } finally { 65 if (is != null) { 66 is.close(); 67 } 68 if (br != null) { 69 br.close(); 70 } 71 } 72 } 73} 74

補足情報(FW/ツールのバージョンなど)

IDE : Cloud9
mavenを用いて開発

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2020/05/21 07:34 編集

その出力として帰ってきた値というのはどういうものなんでしょう 実際の値とはどう違うんでしょうか
roco

2020/05/21 07:37

質問を見てくださりありがとうございます。 出力された値は質問に書かさせてもらっている通りで [Ljava.lang.String;@xxxxxxx [Ljava.lang.String;@xxxxxxx [Ljava.lang.String;@xxxxxxx [Ljava.lang.String;@xxxxxxx となっており、xxxxxxxには、「46cdf8bd」といったような値です。
roco

2020/05/21 08:03

失礼いたしました。中身のCSVは name,age,address test1,20,Tokyo test2,30,Osaka test3,40,Okinawa となっております。
guest

回答1

0

ベストアンサー

System.out.println(data);

data は、String[] です。
この要素をプリントするようにしましょう

投稿2020/05/21 08:07

y_waiwai

総合スコア87747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

roco

2020/05/21 08:22

ありがとうございます。下記のように変更することで無事出力することができました。 System.out.println(data[0]); System.out.println(data[1]); System.out.println(data[2]);
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問