亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

Jsp常用功能CSV文件的生成與分析

2024-09-05 00:17:10
字體:
來源:轉載
供稿:網友

CSV文件是指Excel可以識別的后綴名為CSV的文件,網站系統后臺用來存儲分析數據的時候有可能會用到它。其實CSV文件的讀取和做成比較簡單,主要的技術點是文件的讀寫。不過CSV文件的分析和生成有一定的代表性,可以通過對CSV文件的生成和分析的實現,來了解后臺處理批量數據的簡單思路。

打開Excel,新建一個文件,在里面隨便輸入一些數據,然后另存為一個CSV文件,再次用Excel打開的時候,發現只有一個sheet。用一個記事本打開這個文件,可以看到類似如下的數據。
aaa,bbb,ccc,ddd
aaa2,bbb2,,ddd2
aaa3,bbb3,ccc3,
aaa4,bbb4,ccc4,ddd4

仔細觀察數據,可以確定以下幾點:

  1. CSV文件是文本型文件(非二進制)
  2. 文件中的一行在Excel中顯示的一行
  3. 同一行中的數據用半角逗號分隔

發現以上的規律,我們可以自己也生成一個CSV文件。也可以簡單的分析CSV文件。
現在給CSV文件的生成和分析寫個簡單的例子。(如果對文件處理類不熟悉,可以看一下java的文件處理,或者看一下JDK中關于java.io.File類的幫助信息)
生成CSV文件。(HelloCsvCreater.java)

package com.vogoal.test;
import java.io.FileWriter;
import java.io.IOException;
/**
* @author SinNeR
*
* create a CSV file
*/
public class HelloCsvCreater {
public static void main(String[] args) {
try {
FileWriter fw = new FileWriter("C://helloCsv.csv");
fw.write("aaa,bbb,ccc,ddd,eee,fff,ggg,hhh/r/n");
fw.write("aa1,bb1,cc1,dd1,ee1,ff1,gg1,hh1/r/n");
fw.write("aaa/r/n");
fw.write("aa2,bb2,cc2,dd2,ee2,ff2,gg2,hh2/r/n");
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

這個類編譯后運行,可以看到在C盤根目錄下生成了一個名字為helloCsv.csv的CSV文件,雙擊打開,如下的樣子。

分析CSV文件

package com.vogoal.test;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* @author SinNeR
*
* analysis a CSV file
*/
public class HelloCSVAnalysis {
public static void main(String[] args) {
InputStreamReader fr = null;
BufferedReader br = null;
try {
fr = new InputStreamReader(new FileInputStream(
"C://helloCsv.csv"));
br = new BufferedReader(fr);
String rec = null;
String[] argsArr = null;
while ((rec = br.readLine()) != null) {
System.out.println(rec);
argsArr = rec.split(",");
for (int i = 0; i < argsArr.length; i ) {
System.out.println("num " (i 1) ":" argsArr[i]);
}
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try{
if ( fr != null )
fr.close();
if ( br != null )
br.close();
}catch(IOException ex){
ex.printStackTrace();
}
}
}
}

這里將剛才生成的csv文件讀取并分析。編譯后運行,正常情況下,可以看到剛才生成的CSV文件的內容。

至此,CSV文件的生成與分析其實已經完成。如果要寫適合自己需要的CSV文件分析類,完全可以根據自己的業務邏輯和需要來自己實現。因為CSV文件的分析確實很簡單。

不過上面的程序還是存在一些問題的。這些問題在開發的過程中應當注意,不然可能出現致命的錯誤。

  1. 比較2個類中對資源的釋放問題。CSV生成類中FileWriter對象的關閉(close()方法)是在try中執行的。而CSV分析類中InputStreamReader,BufferedReader對象的關閉(close()方法)是在finally中執行的。CSV生成類是錯誤的。因為在文件和流的生成過程中,是有可能產生IO異常的,如果在對象close前發生IO異常,那么close方法永遠不會被調用,這樣資源不會及時釋放,會產生致命錯誤的。而在finally中的程序,是一定會被執行的語句,所以即使操作中途發生問題,也會在最后執行close方法。(try-catch-finally是java語法中基本而重要的部分,不熟悉的可查閱相關資料。)
  2. 在CSV文件的操作過程中,我們是按照半角逗號來分隔數據的,如果某個數據中正好有半角逗號,那么數據不是出錯了?
  3. 如果分析的數據有全角字符,是否能夠正確分析。(亂碼問題)
    以上的第二個問題時必須考慮的。在寫一個類的時候,不要相信這個類要操作的數據或者得到的數據是好數據(完全符合要求的正確的數據),寫好的一個類用完全正確的數據測試完,很有可能一個小小的數據錯誤的問題,就有可能導致程序處理崩潰。所以,細節問題要充分考慮并對應到,使自己編寫的類具有一定的健壯性。

共3頁上一頁123下一頁
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩亚洲一区二| 色妞在线综合亚洲欧美| 久久国产精品久久久| 欧美激情极品视频| 自拍视频国产精品| 久久99久久99精品免观看粉嫩| 日韩高清欧美高清| 日韩在线免费高清视频| 久久久久久久久国产| 亚洲精品不卡在线| 最近日韩中文字幕中文| 国产精品av网站| 91国产视频在线播放| 国产精品美女视频网站| 国产精品一区二区av影院萌芽| 亚洲色图综合网| 97在线视频免费| 欧美日韩国产精品| 亚洲精品成人免费| 在线看欧美日韩| 久久亚洲影音av资源网| 国产精品91久久久久久| 日本乱人伦a精品| 国产一区二中文字幕在线看| 黑人巨大精品欧美一区二区一视频| 亚洲欧美日韩网| 亚洲性日韩精品一区二区| 成人在线播放av| 亚洲天堂成人在线| 国产脚交av在线一区二区| 日韩中文字幕精品视频| 亚洲情综合五月天| 亚洲电影在线看| 国产欧美一区二区三区在线看| 在线成人激情黄色| 亚洲视频欧洲视频| 欧美裸体xxxx极品少妇| 国产精品久久久久久一区二区| 国产成人+综合亚洲+天堂| 亚洲国产小视频| 国产精品一区二区久久国产| 亚洲肉体裸体xxxx137| 欧美日韩亚洲激情| 国产精品入口尤物| 91高清视频在线免费观看| 欧美一级成年大片在线观看| 日韩一区二区av| www.日韩av.com| 国产69精品久久久| 亚洲a级在线播放观看| 久久久爽爽爽美女图片| 国语自产精品视频在免费| 亚洲国产中文字幕在线观看| 亚洲人成电影网| 亚洲欧美国产va在线影院| 国产91在线播放精品91| 成人免费视频网| 亚洲精品久久在线| 欧美成人性色生活仑片| 亚洲男人天堂2024| 久久精品国产2020观看福利| 日韩av免费在线| 国产伦精品一区二区三区精品视频| 国产区亚洲区欧美区| 国产视频在线观看一区二区| 国产成人精品久久亚洲高清不卡| 91精品久久久久久久久久另类| 欧美午夜片欧美片在线观看| 久久久精品2019中文字幕神马| 亚洲国产欧美一区| 久久91亚洲人成电影网站| 91精品在线影院| 亚洲激情在线观看视频免费| 国产精品va在线播放| 97精品伊人久久久大香线蕉| 97视频在线观看免费高清完整版在线观看| 国产精品www| 黑人巨大精品欧美一区二区三区| 国精产品一区一区三区有限在线| 欧美在线激情视频| 亚洲精品福利在线| 亚洲深夜福利视频| 激情懂色av一区av二区av| 国产91热爆ts人妖在线| 亚洲欧美日韩网| 国产精品视频永久免费播放| 亚洲人成欧美中文字幕| 97精品视频在线| 萌白酱国产一区二区| 日韩中文有码在线视频| 国产伦精品一区二区三区精品视频| 欧美大片在线影院| 亚洲精品国产拍免费91在线| 国产精品亚洲片夜色在线| 亚洲天堂开心观看| 欧美专区在线视频| 国产精品一区二区女厕厕| 狠狠躁夜夜躁人人爽天天天天97| 91久久精品国产| 亚洲美女在线视频| 欧美日韩国产色| 色一情一乱一区二区| 狠狠躁夜夜躁人人爽天天天天97| 亚洲精品美女视频| 最好看的2019年中文视频| 中文字幕亚洲第一| 亚洲天堂免费视频| 日本在线精品视频| 日韩欧美亚洲范冰冰与中字| 日韩成人中文字幕在线观看| 日韩欧美国产激情| 欧美精品一区三区| 久久成人精品一区二区三区| 午夜精品福利在线观看| 欧美亚洲视频一区二区| 久久久久久久久久婷婷| 亚洲综合日韩在线| 成人福利在线视频| 深夜成人在线观看| 国产成人97精品免费看片| 亚洲美女又黄又爽在线观看| 色偷偷偷亚洲综合网另类| 欧美最猛性xxxxx亚洲精品| 日韩视频免费观看| 黑人巨大精品欧美一区二区| 国产精品美女网站| 国产精品18久久久久久麻辣| 久久影视电视剧凤归四时歌| 欧美一区在线直播| 国产欧美欧洲在线观看| 精品爽片免费看久久| 亚洲精品av在线播放| 日韩中文字幕在线看| 中文字幕国产精品久久| 免费91麻豆精品国产自产在线观看| 久久人91精品久久久久久不卡| 欧美一级视频在线观看| 精品久久久久久亚洲国产300| 亚洲人成在线观看| 日韩禁在线播放| 亚洲a级在线观看| 成人免费激情视频| 久久精品电影网| 日韩精品免费在线视频观看| 日本道色综合久久影院| 国产美女精彩久久| 欧美精品国产精品日韩精品| 最近2019年日本中文免费字幕| 国产精品va在线播放我和闺蜜| 国产成人在线一区| 国产精品7m视频| 国产精品久久久精品| 一本色道久久88精品综合| 色阁综合伊人av| 亚洲天堂久久av| 国产日韩av在线播放| 日韩精品在线观| 三级精品视频久久久久| 国产精品永久免费观看| 亚洲成人1234| 国产精品视频中文字幕91| 欧美另类极品videosbestfree| 日韩精品在线影院| 日韩av免费看|