자바에 대한 기초적인 질문입니다.. 이해가 안가서요..ㅡ.ㅡ;
연초록
1 import java.io.*;
2 class Show1000{
3 public static void main(String[] args) {
4 byte buffer[] = new byte[1000];
5 try{
6 File ff = new File(fileinputstream.txt);
7 FileInputStream fln = new FileInputStream(ff);
8 fln.read(buffer, 0, 1000);
9 String str = new String(buffer, 0, 1000);
10 System.out.println(str);
11 } catch(IOException e){
12 String err = e.toString();
13 System.out.println(err);
14 }
15 }
16 }여기서 8번 라인에 fln.read(buffer, 0, 1000); 문장 있잖아요...
그게 파일의 내용을 읽어들이는 것 같긴 한데...
리턴타입을 받지도 않고.. 변수도 없고.. 도대체 저 문장의 정체를 모르겠습니다..
저 문장 빼면 당연히 제대로 안나오구요...ㅡ.ㅡ;
8번라인과 9번라인의 정확한 관계를 알고 싶은데요...
도저히 이해가 안갑니다.. 도와주세요...ㅠㅠ
-
푸르니
정말 그 쪽 부분에 대해 따로 공부좀 해야겠네요... 무슨 말씀인지 이해가 잘 안가요..ㅋㅋ 답변 감사드립니다~
-
주리
API::;
FileInputStream
public int read(byte[] b, int off, int len)
throws IOExceptionReads up to len bytes of data from this input stream into an array of bytes. This method blocks until some input is available.
Overrides:
read in class Inpu -
아리솔
call by value 와 call by reference 를 알아두셔야 할듯.. .. 맞나!? ㅋㅋㅋ 그것 같은데... 태클 감사 ㅋ ^^
-
유리
파일 관련된 class들을 공부하셔야 할듯 싶네요. 우선 FileInputStream fln = new FileInputStream(ff);
이부분에서 파일 input stream 을 생성하죠 fln.read(buffer, 0, 1000); 이부분은 해당 stream에서 buffer로
파일의 내용을 읽는다는 것입니다. 그래서 결국 buffer 0,1000까지의 내용이 담겨지게 되고 해당 buffer
를 다시 String으로 변환해서 찍게 되는것입니다.