CSVファイル内容
社員番号(ABC1582),社員名(漢字), 任意番号(124566),携帯番号(xxx-xxxx-xxxx)
読み込んでデータを配列にセットする。
その時、任意番号が整数型(int)かのチェック、携帯番号に(-)が含まれている
かのチェックをしたいのですが、そのような事は可能でしょうか。
チェックで引っかかったものをメッセージを表示するようにしたいです。
下記にサンプルコードを記載します。
JAVA
1package ren01; 2 3import java.io.BufferedReader; 4import java.io.File; 5import java.io.FileInputStream; 6import java.io.FileNotFoundException; 7import java.io.IOException; 8import java.io.InputStreamReader; 9import java.io.UnsupportedEncodingException; 10 11public class read02 { 12 13 public static void main(String[] args) { 14 // ここにコードを挿入 15 try { 16 // ファイルのパスを指定してオブジェクトを生成。 17 File file = new File("C:\\ws01\\ren01\\src\\ren01\\sample.csv"); 18 // 入力ストリームを生成。( FileNotFoundException が発生 ) 19 FileInputStream input = new FileInputStream(file); 20 /* 入力ストリームの読み込み。 ( UnsupportedEncodingException が発生 ) 21 * ここでCSVファイルの文字コードを設定しないと文字化けします。 */ 22 // 読み込むファイルの文字コード(SJIS) 23 InputStreamReader stream = new InputStreamReader(input, "SJIS"); 24 // バッファに取り込み。 25 BufferedReader buffer = new BufferedReader(stream); 26 27 String line; 28 29 /* readLine()でバッファの1行を取り出す作業を、読み込める行が無くなるまでwhile文で実行。 30 * line = buffer.readline() でBufferedReaderが保持する一行を取出しているので、ループする毎に書き変わります。 */ 31 while((line = buffer.readLine()) != null) { 32 // 取出した1行の文字セットを変換して新たに文字列を生成。 33 byte[] b = line.getBytes(); 34 // String で UnsupportedEncodingException が発生 (変換したい文字コード:UTF-8) 35 line = new String(b, "UTF-8"); 36 // 文字列をカンマ区切りで配列に分けて要素ごとに出力。 37 // 16行目、line.splitの第2引数に"-1"を指定しないと、" 3,test, " の行の配列は " 3,test " の2つになってしまい他の行と要素数が 38 // 違うため、出力結果の様にはなりません。 39 String[] columns = line.split(",", -1); 40 41 for(int j = 0; j < columns.length; j++) { 42 System.out.println(j + " : " + columns[j]); 43 } 44 45 System.out.println(""); 46 47 } 48 49 // 開いたストリームとバッファを閉じて関連するシステム・リソースを解放します。 ( IOException が発生 ) 50 input.close(); 51 stream.close(); 52 buffer.close(); 53 54 } catch (UnsupportedEncodingException | FileNotFoundException e) { 55 e.printStackTrace(); 56 57 } catch (IOException e) { 58 e.printStackTrace(); 59 60 } 61 62 } 63} 64
宜しくお願いします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/15 03:54
退会済みユーザー
2016/06/15 03:57
退会済みユーザー
2016/06/15 04:09 編集
2016/06/15 06:53
2016/06/15 07:12
2016/06/15 07:21
退会済みユーザー
2016/06/15 08:25
2016/06/16 00:29
退会済みユーザー
2016/06/19 01:03