0

皆さん。スタックからファイルに書き込もうとしています。スタックは、別のファイルから読み取って作成されました。読み込んだファイルを元に戻すことができるように、スタックを使用しています。読み書きするファイル名は、コマンド ラインからのものです。これは、スタックを実装する方法です。

while(read.hasNext()) {
stack.push(read.next());}

スタックが書き込むことになっている他のファイルのコード:

FileWriter w = null;
        try {
            w = new FileWriter(new File(args[1]));
        } catch (IOException e) {
            e.printStackTrace();
        }
        if (!stack.isEmpty()) { //this was a while statement
            try {
                w.write(stack.pop());
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else {
            System.out.println("Didn't make it.");
        }

私が抱えている問題は、プログラムを実行すると、書き込みたいファイルが作成されますが、ファイルに何も書き込まれないことです。私は当初、自分のスタックには何もないと思っていました (そのため、while ステートメントを if に変更しました。これは一時的なものです)。「間に合わなかった」。印刷されなかったので、そうではないことがわかりました。ここで何が間違っていますか?どんな助けでも大歓迎です。

4

2 に答える 2

2

w.write(stack.pop()); の後 fush() メソッドを呼び出します。

w.write(stack.pop());
w.flush();

whileステートメントを返すことができます。最後にw.close();を呼び出します。

于 2013-09-14T07:56:59.127 に答える