csvファイルを読み込み 、(コンマ)毎に区切り出力するプログラムを今作っています。
そこで最初に
import java.io.*;
import java.util.*;
public class aaa {
public static void main(String aaa[]) throws Exception{
Scanner yomi = new Scanner( new File("C:\\addorres.csv") );
yomi.useDelimiter( "," );
List<String> adorr = new ArrayList<String>();
while( yomi.hasNext() ){
adorr.add( yomi.next() );
}
for( String s: adorr ){
System.out.println( s );
}
}
}
と打ちましたそうすると
csvに
名前、住所、電話、アドレス、ID、PW
名前、住所、電話、アドレス、ID、PW
名前、住所、電話、アドレス、ID、PW
と入っていると表示されるのは
名前
住所
電話
アドレス
ID
PW
住所
電話
アドレス
ID
PW
住所
電話
アドレス
ID
PW
となってしまって名前を取り出すことができません。
そこで最初は名前入っていたんだからと安直に二次元配列に変えることにしました。
import java.io.*;
import java.util.*;
public class aaa {
public static void main(String aaa[]) throws Exception{
String[][] ad = new String[9999][9999];
int a = 0,c = 0,d=0;
Scanner yomi = new Scanner( new File("C:\\addorres.csv") );
yomi.useDelimiter( "," );
List<String> adorr = new ArrayList<String>();
while( yomi.hasNext() ){
adorr.add( yomi.next() );
}
for( String s: adorr ){
if(a==5)
{
c++;
a=0;
ad[a][c] = s;
d++;
}else{
ad[a][c]= s;
a++;
d++;
}
}
a = 0;
c = 0;
for (int b=0;b<d;b++)
{
if(a==5)
{
c++;
a=0;
System.out.println(b+":"+ad[a][c]);
}else{
System.out.println(b+":"+ad[a][c]);
a++;
}
}
}
}
そこでこの様に打ったんですが実行すると
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at aaa.main(aaa.java:7)
と結果がこの様にエラーとして返ってきます。
どなたかこれを解決する方法又は1次元配列でも名前を表示させる方法がわかる方がいましたら
お願い致します。
No.2
- 回答日時:
そのままでも自分の環境では名前もちゃんと出力されますけど・・・
デリミタに改行が必要なら
yomi.useDelimiter( "\n|," );
ですかね。改行コードが\nなら。
BufferedReader使ってreadLine()で回してもいいとは思いますけどね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Java java final 1 2022/06/10 22:49
- Java Java 配列<選挙> 4 2023/07/31 15:07
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<forEach> 内で供給された "ite...
-
eclipseに記述したjavaファイル...
-
ColabでのPytorchのエラー
-
Javaを使ってデジタル時計を作...
-
Selenium IDEでexportしたコー...
-
Javaで常駐するソフトを作って...
-
ActionForm form にnullが入っ...
-
setAttribute(String, int)は適...
-
jcpad
-
importとextendsの用い方の違い...
-
JOGLのインストール方法
-
「例外 *** は対応する try 文...
-
JavaでWindowsのタスクトレイに...
-
アプレットが初期化されていま...
-
【JAVAエラー】互換性のない型...
-
Javaを使用して定時送信をしたい
-
(急募/教えて)Java三択クイズを...
-
Javaからストアド実行(配列項目)
-
文字サイズが可変のラベル
-
【java】検索フォームの検索結...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「例外 *** は対応する try 文...
-
eclipseに記述したjavaファイル...
-
<forEach> 内で供給された "ite...
-
setAttribute(String, int)は適...
-
干支の計算で。。。
-
Javaを使ってデジタル時計を作...
-
HTMLでのTableタグデータ取得方法
-
importするには java.io.*; imp...
-
生年月日と今日の日付から年齢...
-
文字列を数式に
-
シャットダウンフックが呼ばれない
-
Javaで常駐するソフトを作って...
-
フレームの×ボタンを押しても閉...
-
Selenium IDEでexportしたコー...
-
文字サイズが可変のラベル
-
jFrameを使って複数の画面を生...
-
【java】検索フォームの検索結...
-
Java での グローバルIP取得
-
(急募)JavaカレンダーをGUI可に...
-
ファイル名を動的に生成したい
おすすめ情報