我想要一個用戶可以上傳CSV文件的功能,其中的內容將被保存到數據庫中。上傳並保存到數據庫中對我來說不是問題,而是如何讀取CSV文件。我只對如何工作的文件狹窄的背景,我的一切都是這些代碼:用Java讀取CSV文件
InputStream file = item.getInputStream();
// How do I read it?
我想要一個用戶可以上傳CSV文件的功能,其中的內容將被保存到數據庫中。上傳並保存到數據庫中對我來說不是問題,而是如何讀取CSV文件。我只對如何工作的文件狹窄的背景,我的一切都是這些代碼:用Java讀取CSV文件
InputStream file = item.getInputStream();
// How do I read it?
對於讀取CSV文件,你可以使用BufferedReader
類:
BufferedReader reader = new BufferedReader(
new InputStreamReader(new FileInputStream("CSV file location"))
);
之後,使用StringTokenizer
來讀取文件中的每個常見的分隔值,例:
if(reader.readLine()!=null) {
StringTokenizer tokens = new StringTokenizer(
// this will read first line and separates values by (,) and stores them in tokens.
(String) reader.readLine(), ",");
tokens.nextToken(); // this method will read the tokens values on each call.
}
對於例如,CSV文件具有僱員的記錄,如:
ram,101
tokens.nextToken()
致電將會返回ram
。tokens.nextToken()
致電將返回101
。讀/ Java中操縱CSV,你可以檢查出Apache POI庫。
我建議https://commons.apache.org/proper/commons-csv/
「共享CSV讀取和逗號分隔值(CSV)格式的變化寫入文件。」
這項工作考慮到我正在使用我的電腦中使用的目錄。但是,我想要的是文件上傳,但'BufferedReader reader = new BufferedReader(new InputStreamReader(file));'似乎不工作,因爲我在這一行發生錯誤'List items = new ServletFileUpload(new DiskFileItemFactory() ).parseRequest(request);' –
nubteens
對不起,我只是忘記導入一個jar文件。這完全有效!非常感謝你 – nubteens