【发布时间】:2021-01-31 06:37:42
【问题描述】:
我在一个带有 IntelliJ 的 Android Java 项目中使用 OpenCSV。
我正在尝试运行以下代码来在我的项目中创建一个 bean。注意被“** **”包围的段
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
import com.opencsv.bean.CsvToBeanBuilder;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity implements View.OnClickListener
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main_page);
**List<Restrictions> restrictionData = new CsvToBeanBuilder(FileReader("restrictions.csv"))
.withType(Restrictions.class).build.parse();**
}
}
我从 OpenCSV 的网站上获取了这段代码,他们说:
这里我们只是简单地将字段命名为与标题名称相同。后 也就是说,阅读是一项简单的工作:
List beans = new CsvToBeanBuilder(FileReader("yourfile.csv")) .withType(Visitors.class).build().parse();
这将为您提供示例输入文件中定义的两个 bean 的列表。注意到基本数据类型(包装和展开的原语、枚举和字符串)的类型转换是如何自动发生的。
我的代码与他们的风格相似。这是我得到的错误:
C:\Programming\Android\GoTimeJavaVersion\app\src\main\java\com\example\gotimejavaversion\MainActivity.java:34: error: cannot find symbol
List<Restrictions> restrictionData = new CsvToBeanBuilder(FileReader("restrictions.csv"))
^
symbol: method FileReader(String)
location: class MainActivity
我尝试将“new”放在 FileReader 前面,但当我这样做时,我得到了这个错误:
C:\Programming\Android\GoTimeJavaVersion\app\src\main\java\com\example\gotimejavaversion\MainActivity.java:35: error: cannot find symbol
.withType(Restrictions.class).build.parse();
^
symbol: variable build
location: class CsvToBeanBuilder
我的库中有 OpenCSV 和 beanutils,它们都在我的 build.gradle 中实现,并且我的文件 limits.csv 在我的应用程序的 src 文件夹中。我的 Restrictions 类也没有错误,并且遵循 OpenCSV 的 bean 设置。
我做错了什么?任何帮助表示赞赏,谢谢!
【问题讨论】:
标签: java android javabeans filereader opencsv