1

我不太确定如何解决这个问题。我有一个包含大量信息的大型数据库,因此我想避免在开发过程中使用所有数据。建议我使用可以放入我的代码的“假 csv”。例如,我希望能够将“假 csv”输入到以下方法中,但我不知道如何构建这样做。

这是 csv 将被传入的方法

   List<Phone> getPhone(Reader reader) {
      CSVReader csvReader = new CSVReader(reader, '\t');
      HeaderColumnNameTranslateMappingStrategy<PhoneBook> strat = new HeaderColumnNameTranslateMappingStrategy<PhoneBook>();
      strat.setType(PhoneBook.class);
      Map<String, String> map = Maps.newHashMap();
      map.put("Name", "firstName");
      map.put("Number", "phoneNumber");
      strat.setColumnMapping(map);

      CsvToBean<PhoneBook> csvToBean = new CsvToBean<PhoneBook>();
      List<PhoneBook> defaultPhone = csvToBean.parse(strat, csvReader);
      List<Phone> samples = Lists.newArrayList();
      for (Phone phoneBook : defaultPhone) {
         address.add(phoneBook);
      }

      return address;
   }

任何建议都会有所帮助!

4

1 回答 1

2

将您的假 CSV 的内容放入一个字符串中,然后在其上创建一个StringReader实例并将其传递给您的方法。

代码可能是这样的:

...
private static final String FAKE_CSV="John\t123-456\nJane\t456-123\n";
private static final StringReader FAKE_CSV_READER = new StringReader(FAKE_CSV);
...
{
  ...
   getPhone(FAKE_CSV_READER);
  ...
}
...
于 2013-10-17T12:58:20.533 回答