Eclipseでtextファイルから文字列を読み込んでそれを数値に変換し
新しい配列に格納したいのですがやり方がよくわかりません。
例えばテキストファイルに
text
11234,56,78901,234,5,678
という文字列があるときにこれを数値に変換して
data[]={1234,56,78901,234,5,678}
という風に格納したいです
java
1 try{ 2 BufferedReader br = new BufferedReader(new FileReader("f:\\Test\\MKDir\\test.txt")); 3 String s; 4 s=br.readLine(); 5 System.out.println(s); 6 br.close(); 7 8 //文字から数字に変換------------------- 9 char[] mj =new char[50]; 10 11 for(int i=1;i<s.length();i++){ 12 mj[i]= s.charAt(i); 13 data[i-1] = mj[i] - '0'; 14 } 15 //System.out.print(data[0]); 16 }catch(IOException e){ 17 System.out.println("ファイル読み込みエラー"); 18 }
いろいろ試してみたのですが”,”が来た時の処理の仕方がよくわかりません
説明が分かりにくかったかもしれませんがどうかご教授お願いします
追記
一応すべてのコードとエラーを書きます
java
1import java.io.BufferedReader; 2import java.io.File; 3import java.io.FileReader; 4import java.io.IOException; 5import java.io.PrintWriter; 6import java.util.ArrayList; 7 8public class GameMain { 9 10 public static void main(String[] args) { 11 // TODO 自動生成されたメソッド・スタブ 12 int[] data=new int[40]; 13 14 try{ 15 BufferedReader br = new BufferedReader(new FileReader("f:\\Test\\MKDir\\test.txt")); 16 String s; 17 s=br.readLine(); 18 System.out.println(s); 19 br.close(); 20 21 //文字から数字に変換------------------------------- 22 String[] numStrings = s.split(","); 23 ArrayList numbers = new ArrayList(); 24 25 for(String str : numStrings){ 26 str = str.trim(); 27 int num = Integer.parseInt(str);//33行目 28 numbers.add(num); 29 System.out.print(numbers); 30 } 31 //System.out.print(data[0]); 32 }catch(IOException e){ 33 System.out.println("ファイル読み込みエラー"); 34 } 35 } 36 37 /* 38 * フォルダーの製作 39 */ 40 public static void MKFolder(){ 41 File f = new File("f:\\Test\\MKDir"); 42 boolean r = f.mkdirs(); 43 System.out.println("結果= "+r); 44 } 45 46 /* 47 * テキストに文字列を書き込み 48 */ 49 public static void MKText(){ 50 try{ 51 PrintWriter pw = new PrintWriter("f:\\Test\\MKDir\\test.txt"); 52 pw.println("プログラムテスト"); 53 pw.println("プログラムテスト2"); 54 pw.close(); 55 System.out.println("書き込み成功"); 56 }catch(IOException e){ 57 System.out.println("ファイル書き出しエラー"); 58 } 59 } 60 61}
text
11234,5678,1,23,156,78912,345,6789,123
1234,5678,1,23,156,78912,345,6789,123 Exception in thread "main" java.lang.NumberFormatException: For input string: "1234" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at tnw.game.g29.GameMain.main(GameMain.java:33)
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/13 08:09
2017/05/13 08:10
2017/05/13 22:12
2017/05/14 02:09
2017/05/14 07:56
2017/05/14 07:59
2017/05/14 09:27 編集
2017/05/14 10:46 編集