質問概要、実現したいこと
Javaでtxtファイルへ数値の配列を書き込み、その結果を書き出したいのですができません。
配列のtxtファイルへの書き込みは正常にできたのですが、読み出しができません。
後述するソースコード中while分の()内にどうやら原因があるようですが、原因がわかりませんでした。
発生している問題・エラーメッセージ
端末からの出力結果です。
Terminal
1[Running] cd "c:\Users\motch\Java\" && javac Filecontrol_java_20230108.java && java Filecontrol_java_20230108 2check before 3check after 4 5[Done] exited with code=0 in 3.938 seconds 6
monf-1.txtへの書き出し結果は以下の通りです。書き出しは正常にできました。
monf
1684168 26385468 33845163 43854351
該当のソースコード
import java.io.*; public class Filecontrol_java_20230108 { public static void main(String[] args) throws Exception{ int N=4; int x[]={684168,6385468,3845163,3854351}; int y[]=new int[N]; int i,n=4; int nn=0; String fname ="monf-1.txt"; String line=""; FileWriter fw = new FileWriter(fname); FileReader fr = new FileReader(fname); BufferedReader reader = new BufferedReader(fr); for(i=0;i<n;i++) { fw.write(x[i]+"\n"); } System.out.println("check before"); while((line=reader.readLine())!=null) { y[nn]=Integer.parseInt(line); System.out.println("check["+nn+"]"); nn++; } System.out.println("check after"); // for(i=0;i<n;i++) // System.out.println(y[i]); fw.close(); fr.close(); /* System.out.println("check"); for(i=0;i<n;i++) { System.out.println(i); //System.out.println("\n"); System.out.println(x[i]); //System.out.println("\n"); } */ } }
試したこと
途中途中で"check"と出力してみた結果、どうやらwhile((line=reader.readLine())!=null)の()内の条件に問題があり、文字の読み出しができないようです。何が原因なのでしょうか?
以上よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー