-1
아마추어 자바 학습자로서 나는 자바 파일과 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
난 내 실수를 저지 않았거나 어디에서 내 프로그램을 수정해야
, 기본적를 내 코드가 첫 번째 문자 만 인쇄하는 이유는 무엇입니까?
당신은 때에 만 시스템 입력에서 한 문자를 읽습니다.이 문자는 파일에 쓰여집니다 (사용자의 편의를 위해'스캐너 '사용). – Mena
@ 메나 어떻게 수정해야합니까? 방법을 제안 해 주시겠습니까? –
@Mena 그래서 read() 메서드는 한 번에 한 문자 씩 읽습니다. 글쎄 난 아직도 내가 사용하는 경우 또는 while 루프를 수정할 수 있습니다 시스템 입력에 대한 read() 메서드를 사용하려면? –