0

これを見て、なぜこのエラーが発生するのか教えてください。Mysql データベースからテーブルを取得してテキスト ファイルに出力しようとしています。上記のエラーが表示されます。

package db;

import java.io.*;
import java.sql.*;
import java.util.*;

public class TableToTextFile {
    public static void main(String[] args) {
        List<int[]> data = new ArrayList();

        try {
            Connection con = null;
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/test", "root", "root");
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery("Select * from employee");

            while (rs.next()) {
                String id = rs.getString("emp_id");
                String name = rs.getString("emp_name");
                String address = rs.getString("emp_address");
                String contactNo = rs.getString("contactNo");
                data.add(id + " " + name + " " + address + " " + contactNo);

            }
            writeToFile(data, "Employee.txt");
            rs.close();
            st.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }

    private static void writeToFile(java.util.List list, String path) {
        BufferedWriter out = null;
        try {
            File file = new File(path);
            out = new BufferedWriter(new FileWriter(file, true));
            for (String s : list) {
                out.write(s);
                out.newLine();

            }
            out.close();
        } catch (IOException e) {
        }
    }
}
4

1 に答える 1

4

おそらく、リストが整数配列を受け入れるように宣言されており、文字列を渡しているためです。

List<int[]> data = new ArrayList();

代わりに文字列を受け入れるように変更してください。

List<String> data = new ArrayList<>();

より優れた、よりオブジェクト指向の設計は、というクラスを作成し、Employee代わりにそれを使用することです。

public class Employee {
    private String id;
    private String name;
    ...
}

List<Employee> data = new ArrayList<>();
于 2012-08-12T23:15:43.083 に答える