CSV, ou Comma Separated Value, os arquivos são comumente usados como um formato universal para troca de dados simples, especialmente entre os aplicativos de planilha. O formato é simples. Aqui uma tabela de dados e coloque o nome de cada coluna na primeira linha, com cada nome separado dos outros por uma vírgula. Em seguida, vá até a tabela completa, colocando cada linha em uma linha com cada coluna separados por vírgulas. Java não tem construído em um utilitário para a leitura de arquivos CSV, mas isso não deve impedi-lo de usá-los em seu aplicativo Java. O formato simplista torna mais fácil para criar seu próprio analisador de arquivo Java CSV.
Criar uma nova classe chamada CSVParser.java colando o seguinte em um arquivo de texto em branco:
importação java.io.File-
importação java.io.FileNotFoundException-
importação java.util.ArrayList-
importação java.util.Scanner-
importação javax.swing.table.DefaultTableModel-
importação javax.swing.table.TableModel;CSVParser classe pública {
&# 9-
}Cole a seguinte "analisar" Método para ele entre os colchetes na classe:
pública parse TableModel estática (File f) lança FileNotFoundException {
ArrayList
cabeçalhos = new ArrayList () -
ArrayListoneDdata = new ArrayList () - &# 9-&# 9 - // Obter os cabeçalhos da tabela.
Linescan Scanner = new Scanner (f) -
Scanner s = new Scanner (lineScan.nextLine ()) -
s.useDelimiter ("-," -) -
enquanto (s.hasNext ()) {
headers.add (s.next ()) -
}&# 9-&# 9 - // Passar por cada linha da tabela e adicionar cada célula para o ArrayList
enquanto (lineScan.hasNextLine ()) {
s = new Scanner (lineScan.nextLine ()) -
s.useDelimiter ("-, *" -) -
enquanto (s.hasNext ()) {
oneDdata.add (s.next ()) -
}
}
String [] [] data = new String [headers.size ()] [oneDdata.size () / headers.size ()] -&# 9-
&# 9-&# 9 - // Mover os dados em uma matriz de baunilha para que ele possa ser colocado em uma mesa.for (int x = 0- x lt; headers.size () - x ++) {
for (int y = 0- y lt; data [0] y .length- ++) {
dados [X] [Y] = oneDdata.remove (0) -
}
}&# 9-&# 9-
&# 9-&# 9 - // Criar uma tabela e devolvê-lo.retornar novos DefaultTableModel (dados, headers.toArray ());
}
Cole o seguinte método main logo abaixo o método de análise a partir do Passo 2:
main (String [] args) public static void joga FileNotFoundException {
&# 9 - // Chamar o método de análise e colocar os resultados em uma tabela.
TableModel t = CSVParser.parse (new File ("-test.csv" -)) -&# 9-&# 9 - // imprimir todas as colunas da tabela, seguido por uma nova linha.
for (int x = 0- x lt; t.getColumnCount () - x ++) {
System.out.print (t.getColumnName (x) + "- " -) -
}
System.out.println () -&# 9-&# 9 - // imprimir todos os dados a partir da tabela.
for (int x = 0- x lt; t.getRowCount () - x ++) {
for (int y = 0- y lt; t.getColumnCount () - y ++) {
System.out.print (t.getValueAt (x, y) + "- " -) -
}
System.out.println () -
}}