質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

0回答

3926閲覧

ファイルの内容を登録したい

退会済みユーザー

退会済みユーザー

総合スコア0

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2017/02/14 05:51

###前提・実現したいこと

javaでMVCモデルのwebアプリケーションを作っています。
CSVファイルの内容を一括登録したいです。
CSVファイルをファイル登録するところまではできているのですが、一つずつDBに格納仕方がわかりません。

具体的に
while文でファイルデータ(Fileオブジェクト)を一行ずつ取り出す
while文の中で、さらにif文でファイルデータの場合の処理を記述する
ファイルデータのファイル名(PATH名含む)を取得
PATH名を除くファイル名のみを取得
ファイルデータを指定されたファイルに保存する(eclipse内に保存)
BuffereReaderを利用して、ファイルの変換を行う
リストに格納する(保存したところから呼び出す)
リストを作成し、while文で一行ずつ情報を格納したい

###該当のソースコード
package drinkMachine.FileUP;

import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import drinkMachine.dao.T001ItemDao;

public class FileUpController extends HttpServlet {
private static final long serialVersionUID = 1L;

public FileUpController() { super(); // TODO Auto-generated constructor stub } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload sfu = new ServletFileUpload(factory); factory.setSizeThreshold(1024); sfu.setSizeMax(-1); sfu.setHeaderEncoding("UTF-8"); String name = ""; String unitPrice = ""; String count = ""; String isPR = ""; String image = ""; String file = ""; String nextPage = ""; String path = "C:/Users/bks013/workspace/jspServlet/CSV"; try { // (1)ファイルデータ(FileItemオブジェクト)を取得し、 // Listオブジェクトとして返す List list = sfu.parseRequest(request); T001ItemDao dao = new T001ItemDao(); // (2)ファイルデータ(FileItemオブジェクト)を順に処理 Iterator iterator = list.iterator(); while (iterator.hasNext()) { FileItem fItem = (FileItem) iterator.next(); // (3)ファイルデータの場合、if内を実行 if (!(fItem.isFormField())) { // (4)ファイルデータのファイル名(PATH名含む)を取得 file = fItem.getName(); String fileFiledName = fItem.getFieldName(); if ((file != null) && (!file.equals(""))) { // (5)PATH名を除くファイル名のみを取得 file = (new File(file)).getName(); fItem.write(new File(path + "/" + fileFiledName)); } } else {// ファイルではない処理(テキスト等) if (fItem.getFieldName().equals("name")) { name = fItem.getString("UTF-8"); System.out.println("商品名:" + name); } else if (fItem.getFieldName().equals("unitPrice")) { unitPrice = fItem.getString("UTF-8"); System.out.println("金額:" + unitPrice); } else if (fItem.getFieldName().equals("count")) { count = fItem.getString("UTF-8"); System.out.println("数:" + count); } else if (fItem.getFieldName().equals("isPR")) { isPR = fItem.getString("UTF-8"); System.out.println("おすすめ:" + isPR); } } }

}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問