「Java/swing/サンプル/JTableにCsvファイルを読み込んで表示」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
&ref(swingCsvファイルを読み込みJTableに表示)
*** サンプルダウンロード
&ref(CsvToJTable.java)
&ref(CsvRead.csv)
*** ソース
#highlight(java){{
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class CsvToJTable extends JFrame {
JTable tbl;
DefaultTableModel model;
public static void main(String[] args) {
new CsvToJTable();
}
public CsvToJTable() {
setTitle("Csvを読み込んでJTableに表示");
setBounds(200, 100, 300, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
// Csvファイルから表示データ作成
Vector<Vector<String>> data = readCsv(new File("CsvRead.csv"));
// カラムの名前をベクターに設定
Vector<String> names = new Vector<String>();
names.add("ID");
names.add("タイトル");
names.add("日付");
// 表示データと名前からテーブルモデル作成
model = new DefaultTableModel(data, names);
// テーブルモデルからJTableを作成
tbl = new JTable(model);
// JTableをフレームに追加
add(new JScrollPane(tbl));
setVisible(true);
}
// CSVファイルを読み込んで、Vectorに詰めて返します。
public static Vector<Vector<String>> readCsv(File f) {
Vector<Vector<String>> data = new Vector<Vector<String>>();
try {
FileInputStream s = new FileInputStream(f);
// 文字コードを変える場合は、InputStreamReaderの第二引数を変更するとよいです。
InputStreamReader r = new InputStreamReader(s, "Shift_JIS");
BufferedReader br = new BufferedReader(r);
String line;
while ((line = br.readLine()) != null) {
line = line.substring(1, line.length() - 1);
String[] ary = line.split("\",\"");
Vector<String> v = new Vector<String>();
for (String cell : ary) {
v.add(cell);
}
data.add(v);
}
br.close();
r.close();
s.close();
} catch (IOException e) {
e.printStackTrace();
}
return data;
}
}
}}
&ref(swingCsvファイルを読み込みJTableに表示.png)
*** サンプルダウンロード
&ref(CsvToJTable.java)
&ref(CsvRead.csv)
*** ソース
#highlight(java){{
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class CsvToJTable extends JFrame {
JTable tbl;
DefaultTableModel model;
public static void main(String[] args) {
new CsvToJTable();
}
public CsvToJTable() {
setTitle("Csvを読み込んでJTableに表示");
setBounds(200, 100, 300, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
// Csvファイルから表示データ作成
Vector<Vector<String>> data = readCsv(new File("CsvRead.csv"));
// カラムの名前をベクターに設定
Vector<String> names = new Vector<String>();
names.add("ID");
names.add("タイトル");
names.add("日付");
// 表示データと名前からテーブルモデル作成
model = new DefaultTableModel(data, names);
// テーブルモデルからJTableを作成
tbl = new JTable(model);
// JTableをフレームに追加
add(new JScrollPane(tbl));
setVisible(true);
}
// CSVファイルを読み込んで、Vectorに詰めて返します。
public static Vector<Vector<String>> readCsv(File f) {
Vector<Vector<String>> data = new Vector<Vector<String>>();
try {
FileInputStream s = new FileInputStream(f);
// 文字コードを変える場合は、InputStreamReaderの第二引数を変更するとよいです。
InputStreamReader r = new InputStreamReader(s, "Shift_JIS");
BufferedReader br = new BufferedReader(r);
String line;
while ((line = br.readLine()) != null) {
line = line.substring(1, line.length() - 1);
String[] ary = line.split("\",\"");
Vector<String> v = new Vector<String>();
for (String cell : ary) {
v.add(cell);
}
data.add(v);
}
br.close();
r.close();
s.close();
} catch (IOException e) {
e.printStackTrace();
}
return data;
}
}
}}