-1
アマチュアのJavaラーナーとして、JavaコードとI/Oメソッドのさまざまな組み合わせを試していましたが、このコードを試してみましたが、ファイルに入力したものを何でも印刷したいのですがtom.txt
簡単に)他の方法を使用して行うことが、私のコードは、このでした:なぜ私はそれを入力したとして全体の文字を印刷することができませんか?
import java.io.*;
public class Dhoom3
{
public static void main(String[] args) throws IOException, NullPointerException
{
FileWriter b = new FileWriter(new File("tom.txt"));
System.out.println(" enter whatever : ");
b.write(System.in.read());
b.flush();
System.out.println("the printed characters are");
FileInputStream r = new FileInputStream("tom.txt");
BufferedInputStream k = new BufferedInputStream(r);
int g;
while((g = k.read())!= -1)
{
System.out.println((char)g);
}
}
}
私の出力だったこの:?
enter whatever :
stack
the printed characters are
s
私は私のミスを犯したのか、どこで私のプログラムを変更する必要があり
、基本的になぜ私のコードは最初の文字だけを印刷していますか?
あなたがいるだけでシステム入力から1文字を読み込みます。これはファイルに書き込まれます(あなたの便宜のために 'Scanner'を使いたいかもしれません)。 – Mena
@Menaどうすればいいですか?方法を提案できますか? –
@Menaので、read()メソッドは一度に1文字ずつ読み込みますか?よく私はまだ私はforループを変更することができますかwhileループを使用する場合のようにシステム入力のread()メソッドを使用したいですか? –