Java解析csv并创建对象

标签 java csv bufferedreader

我得到一个“非静态方法不能从静态上下文引用” - 我相信这基本上意味着该对象没有被创建。我做错了什么?

public void loadData() {
    String csvFile = "/data/patientList.csv";
    BufferedReader br = null;

    try {

        br = new BufferedReader(new FileReader(csvFile));
        br.readLine();
        String line1 = null;
        while ((line1 = br.readLine()) != null) {
            String[] patient = line1.split(",");
            int bedNum = Integer.parseInt(patient[0]);
            Patient patient1 = new Patient(bedNum, patient[1], patient[2], patient[3], patient[4],
                    RESPIRATORY_RATE, HEART_RATE, SYSTOLIC, SPO2);

在这里抛出错误,例如:

patientNameField.setText(Patient.getFistName());

最佳答案

此错误听起来像是您尝试这样做:

public static void main(String args[]) {
    loadData();
}

public void loadData() { /* method code */ }

这不起作用,因为方法 loadData 不是静态的,需要调用一个对象。

按如下方式更改代码:

public class MyClass { // you can name your class like you want
    public static void main(String args[]) {
        final MyClass instance = new MyClass(); //assuming there is a non-argument constructor
        instance.loadData(); // call "loadData" on a specifc instance of MyClass
    }

    public void loadData() { /* method code */ }
}

关于Java解析csv并创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26642382/

相关文章:

c++ - 在 C++ 中从 CSV 文件中提取特定数据

java - BufferedReader 与 BufferedInputStream 的性能衡量

java - Java从txt文件中读取数据,使用特定字符作为每次迭代的结束点

java - Java 中的字符 I/O 流与字节 I/O 流

java - [JUnit][Mockito] 如何验证方法是否在调用堆栈的另一层被调用?

java - 自 Java 8 以来是否有使用 getter 和 setter 的新论点?

java - 精简和/或理解动态 Web 项目中的 Eclipse 文件

Java线程安全顺序方法调用

java - 在java程序中加载一个csv文件

csv - Python : How to convert . ofx 文件转换为 .csv