java读取csv文件

java读取csv文件,第1张

import java.io.BufferedReader  

import java.io.FileReader  

import java.util.*

public class Test{

    public static void main(String[] args) {

        Hashtable<String, String[]> dict = new Hashtable<String, String[]>()

        try {  

            BufferedReader reader = new BufferedReader(new FileReader("test.csv"))

            String line = null  

            while((line=reader.readLine())!=null){  

                String item[] = line.split(",")

                String item2[] = new String[19]

                System.arraycopy(item,1,item2,0,19)

                dict.put(item[0],item2)

            }  

            Enumeration e2 = dict.keys()

            while (e2.hasMoreElements()) {

                String key = (String) e2.nextElement()

                System.out.println(key)

                String[] dd = (String[])dict.get(key)

                for (int i=0i<dd.lengthi++) {

                    System.out.print(dd[i]+"\t")

                }

                System.out.println()

            }

        }

        catch (Exception e) {

            e.printStackTrace() 

        }  

    }

}

CSV(CommaSeparatedValue),Foxmail和Outlook导出的地址本都可以是csv文件。CsvJdbc提供了Java访问csv文件的的JDBC驱动,它其实是把一个csv文件当做一个数据库表来 *** 作,提供简单的查询。在发送foxmail的时候比较方便而已。

这是我写的个类 你参考下 其实那个引号是不用管的

public class CsvUtil1 {

private String filename = null

private BufferedReader bufferedreader = null

private List list = new ArrayList()

public CsvUtil1() {

}

public CsvUtil1(String filename) throws IOException {

this.filename = filename

bufferedreader = new BufferedReader(new FileReader(filename))

String stemp

while ((stemp = bufferedreader.readLine()) != null) {

list.add(stemp)

}

}

public List getList() throws IOException {

return list

}

public int getRowNum() {

return list.size()

}

public int getColNum() {

if (!list.toString().equals("[]")) {

if (list.get(0).toString().contains(",")) {

return list.get(0).toString().split(",").length

} else if (list.get(0).toString().trim().length() != 0) {

return 1

} else {

return 0

}

} else {

return 0

}

}

public String getRow(int index) {

if (this.list.size() != 0)

return (String) list.get(index)

else

return null

}

public String getCol(int index) {

if (this.getColNum() == 0) {

return null

}

StringBuffer scol = new StringBuffer()

String temp = null

int colnum = this.getColNum()

if (colnum >1) {

for (Iterator it = list.iterator()it.hasNext()) {

temp = it.next().toString()

scol = scol.append(temp.split(",")[index] + ",")

}

} else {

for (Iterator it = list.iterator()it.hasNext()) {

temp = it.next().toString()

scol = scol.append(temp + ",")

}

}

String str = new String(scol.toString())

str = str.substring(0, str.length() - 1)

return str

}

public String getString(int row, int col) {

String temp = null

int colnum = this.getColNum()

if (colnum >1) {

temp = list.get(row).toString().split(",")[col]

} else if (colnum == 1) {

temp = list.get(row).toString()

} else {

temp = null

}

return temp

}

public void CsvClose() throws IOException {

this.bufferedreader.close()

}

public void test() throws IOException {

CsvUtil1 cu = new CsvUtil1("D:/学习/00dw.csv")

List tt = cu.getList()

for (Iterator itt = tt.iterator()itt.hasNext()) {

System.out.println(itt.next().toString()+"||")

}

// System.out.println(cu.getRowNum())

// System.out.println(cu.getColNum())

// System.out.println(cu.getRow(0))

// System.out.println(cu.getCol(0))

// System.out.println(cu.getString(0, 0))

cu.CsvClose()

}

public void createCsvTest1(HttpServletResponse Response) throws IOException {

CsvUtil1 cu = new CsvUtil1("D:/学习/00dw.csv")

List tt = cu.getList()

String data = ""

SimpleDateFormat dataFormat = new SimpleDateFormat("yyyyMMddHHmm")

Date today = new Date()

String dateToday = dataFormat.format(today)

File file=new File("D:/学习/001dw.csv")

if(!file.exists())

file.createNewFile()

// else

// file.delete()

String str[]

StringBuilder sb = new StringBuilder("")

BufferedWriter output=new BufferedWriter(new FileWriter(file,true))

for (Iterator itt = tt.iterator()itt.hasNext()) {

String fileStr = itt.next().toString()

str = fileStr.split(",")

for(int i=0i<=str.length-1i++){ //拆分成数组 用于插入数据库中

System.out.print("str["+i+"]="+str[i]+" ")

}

System.out.println("")

sb.append(fileStr+"\r\n")

}

//System.out.println(sb.toString())

output.write(sb.toString())

output.flush()

output.close()

cu.CsvClose()

}

public static void main(String[] args) throws IOException {

CsvUtil1 test = new CsvUtil1()

//test.test()

HttpServletResponse response = null

test.createCsvTest1(response)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11488842.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存