【解決したいこと】
jspからinput type="file"から送信したcsvファイルを読み込み。
変数に格納したい。
javaファイルのfi = new FileInputStream("");の部分を編集してjspから送られたデータを受け取りたい。
jsp
1<?xml version="1.0" encoding="UTF-8" ?> 2<%@ page language="java" contentType="text/html; charset=UTF-8" 3 pageEncoding="UTF-8"%> 4<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 5<html xmlns="http://www.w3.org/1999/xhtml"> 6<head> 7<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 8<title>ファイルアップロード</title> 9</head> 10<body> 11 <h1>ファイルアップロード</h1> 12 <p><%=request.getAttribute("message") %></p> 13 <form action="fileupload" method="post" enctype="multipart/form-data"> 14 <p> 15 <input type="file" name="csvfile" value="" /> 16 </p> 17 <p> 18 <input type="submit" value="送信" /> 19 </p> 20 </form> 21</body> 22</html> 23
java
1package read; 2 3 4import java.io.BufferedReader; 5import java.io.FileInputStream; 6import java.io.InputStreamReader; 7 8public class CsvRead { 9 public static void main(String[] args) { 10 11 //ファイル読み込みで使用する3つのクラス 12 FileInputStream fi = null; 13 InputStreamReader is = null; 14 BufferedReader br = null; 15 16 try { 17 18 //読み込みファイルのインスタンス生成 19 //ファイル名を指定する 20 fi = new FileInputStream(""); 21 is = new InputStreamReader(fi); 22 br = new BufferedReader(is); 23 24 //読み込み行 25 String line; 26 27 //読み込み行数の管理 28 int i = 0; 29 30 //列名を管理する為の配列 31 String[] arr = null; 32 33 //1行ずつ読み込みを行う 34 while ((line = br.readLine()) != null) { 35 36 //先頭行は列名 37 if (i == 0) { 38 39 //カンマで分割した内容を配列に格納する 40 // arr = { "no","name","age","gender","bloodtype" }; 41 arr = line.split(","); 42 43 } else { 44 45 //データ内容をコンソールに表示する 46 System.out.println("-------------------------------"); 47 48 //データ件数を表示 49 System.out.println("データ" + i + "件目"); 50 51 //カンマで分割した内容を配列に格納する 52 String[] data = line.split(","); 53 54 //配列の中身を順位表示する。列数(=列名を格納した配列の要素数)分繰り返す 55 int colno = 0; 56 for (String column : arr) { 57 System.out.println(column + ":" + data[colno]); 58 colno++; 59 60 } 61 62 } 63 64 //行数のインクリメント 65 i++; 66 67 } 68 69 } catch (Exception e) { 70 e.printStackTrace(); 71 } finally { 72 try { 73 br.close(); 74 } catch (Exception e) { 75 e.printStackTrace(); 76 } 77 } 78 } 79} 80
あなたの回答
tips
プレビュー