csv ファイルがあり、それを JTable にインポートします。
csv ファイルを JTable にインポートする方法を示す簡単な例はありますか?
OpenCSV を使用します。
CSVReader reader = new CSVReader(new FileReader("yourfile.csv"));
List myEntries = reader.readAll();
JTable table = new JTable(myEntries.toArray());
CSVReader を回避したい場合や回避する必要がある場合は、BufferedReader を使用することもできます。もちろん、CSVReader ほど単純ではありません。私はJavaファイル管理の初心者にすぎないので、間違いなく改善できるでしょう。
これは、 https://www.youtube.com/watch?v= L2xczUN9aI0 の「JAVA IO - Java でテキスト ファイル データを JTable にインポートする方法 [ソース コード付き]」から部分的に借用したものです。
import java.io.*;
import java.util.*;
import javax.swing.JTable;
import javax.swing.table.*;
public class test {
public static void main(String[] args) {
String inputFileName;
File inputFile;
String firstRow;
Vector<Vector<String>> vectorVectorStringsData = new Vector<Vector<String>>();
Vector<String> vectorStrings = new Vector<String>();
Vector<String> vectorColumnIdentifiers = new Vector<String>();
String[] columnIdentifiers;
DefaultTableModel model = new DefaultTableModel();
JTable jTable;
inputFileName = "yourFileName.csv";
inputFile = new File(inputFileName);
try (FileReader fr = new FileReader(inputFile);
BufferedReader br = new BufferedReader(fr))
{
firstRow = br.readLine().trim();
if (firstRow != null) {
// headers:
columnIdentifiers = firstRow.split(",");
vectorColumnIdentifiers = new Vector<String>();
for (int j =0; j < columnIdentifiers.length; j++) {
vectorColumnIdentifiers.add(columnIdentifiers[j]);
}
}
// rows
Object[] tableLines = br.lines().toArray();
// data rows
for (int i = 0; i < tableLines.length; i++) {
System.out.println("4");
String line = tableLines[i].toString().trim();
String[] dataRow = line.split(",");
vectorStrings = new Vector<String>();
for (int j =0; j < dataRow.length; j++) {
vectorStrings.add(dataRow[j]);
}
vectorVectorStringsData.add(vectorStrings);
}
fr.close();
}
catch (IOException ioe) {
System.out.println("error: " + ioe.getMessage());
}
model.setDataVector(vectorVectorStringsData, vectorColumnIdentifiers);
jTable = new JTable(model);
}
}