Javaの初心者です。
ファイルを読み込んで、Scanner,Stringへ出力するようなプログラムを作ってみたのですが、ファイル内容をきちんと抽出できておりません。
以下のように作っているのですが、問題個所を特定できていません。
アドバイスよろしくお願いいたします。
【想定】
car.txtファイルの情報(「car,car2,car3,car4」)をString"strTest"へ、
”Car2”をStringBuilder"sb"に格納したい。
【実態】
String”strTest”には以下Messageが格納され、”sb”には”,”が入っております。
java.util.Scanner[delimiters=\p{javaWhitespace}+][position=0][match valid=false][need input=false][source closed=false][skipped=false][group separator=,][decimal separator=.][positive prefix=][negative prefix=\Q-\E][positive suffix=][negative suffix=][NaN string=\QNaN\E][infinity string=\Q?\E]
【アドバイス依頼内容】
String”strTest”に”car,car2,car3,car4”を格納したいのですが、
現状のコードは以下です。こちらで取れると思っていますが、上記のような実態となっており、できません。足りない部分があればアドバイスいただければ幸甚です。
また、”sb”においては”Car2”の次である”,”が入っております。If条件を”Car2”の一つ手前にすることで今のコードのままでも”Car2"を”sb”に格納できますが、条件を変えずに”Car2”をAppendする方法があればご教示いただければ幸甚です。
ここに言語を入力
try{ FileWriter fw = new FileWriter("C:\User\car.txt",false); PrintWriter pw = new PrintWriter(new BufferedWriter(fw)); pw.println(”car, car2 , car3, car4"); pw.close(); }catch (IOException ex){ ex.printStackTrace(); } File file = new File("C:\User\car.txt"); Scanner scan = null; try{ scan = new Scanner(file); }catch(FileNotFoundException e){ e.printStackTrace(); } StringBuilder sbtest = new StringBuilder(); sbtest.append(scan); String strTest = sbtest.toString(); System.out.println(strTest); StringBuilder sb = new StringBuilder(); while(scan.hasNext()){ if(scan.next().equals("car2")){ sb.append(scan.next()+" "); }else{}
回答1件
あなたの回答
tips
プレビュー