2017-11-28 27 views
0

プロジェクト用にOpenCSVを使用し始めます。このコードを実行した後、私のデスクトップに "test.csv"ファイルを作成しましたが、それは空です。どこが間違っていますか?OpenCSVはBeanレコードを書きません

public class test { 
    List<MockBean> testData = new ArrayList<MockBean>(); 

    public static void main(String[] args) { 
     try { 
      List<MockBean> testData = new ArrayList<MockBean>(); 
      MockBean mb = new MockBean(); 
      mb.setName("kyle"); 
      mb.setOrderNumber("abc123456"); 
      mb.setNum(123); 
      testData.add(mb); 
      mb = new MockBean(); 
      mb.setName("jimmy"); 
      mb.setOrderNumber("def098765"); 
      mb.setNum(456); 
      testData.add(mb); 

      Writer writer = new FileWriter("C:\\Users\\ali.gumusoglu\\Desktop\\New folder\\test.csv"); 

      ColumnPositionMappingStrategy mappingStrategy = 
        new ColumnPositionMappingStrategy(); 
      mappingStrategy.setType(MockBean.class); 

      StatefulBeanToCsvBuilder<MockBean> builder = new StatefulBeanToCsvBuilder(writer); 

      StatefulBeanToCsv beanWriter = builder 
        .withMappingStrategy(mappingStrategy) 
        .withSeparator('#') 
        .withQuotechar('\'') 
        .build(); 
      beanWriter.write(testData); 
      System.out.println("CSV File written successfully!!!"); 


     } catch (Exception e) { 
      System.out.println(e.getMessage()); 
     } 

    } 

} 

ご協力いただきありがとうございます。

+0

ファイルを 'close()'しようとしましたか? – siom

+0

私は今試しましたが、動作していません。 –

+0

デスクトップに「New Folder」というフォルダがありますか? FileWriterは、ディレクトリを作成できないファイルのみを作成できます。 –

答えて

0

注釈をBeanクラスに入れましたか? 例:

@CsvBindByPosition(position = 0) 
private String name; 
+0

はい、私はこれを試みましたが、動作しませんでした。そして私はApache Poiを使い始めています。ありがとう。 –

+0

CsvBindByNameアノテーションを試しましたか?私は例として位置を与えたが、私はその名前が良いと思う。 @CsvBindByName(column = "name") Morevoer、あなたのBeanに関する詳細を教えてください。他のクラスを拡張していますか? – user2143904

関連する問題