test1. java
import java.io.*;
class A{
public static void main(String args[]){
try{FileInputStream fis = new FileInputStream("c:/java/abc.txt");
System.out.println(fis.read());}
catch(FileNotFoundException e1){}
catch(IOException e2){}
}
}
test1.java 를 실행켜보니, 65가 나왔습니다.
read() 메소드가 3가지 있는데 인자값이 없는 메소드는 한 글자의 byte를 읽어들입니다.
65 가 있는걸 봐서 abc.txt 에 가장 첫번째 문자가 A 임을 알 수 있어요~
그럼 글자를 출력하려면 어떻게 해야 할까요~
test1. java
import java.io.*;
class A{
public static void main(String args[]){
try{FileInputStream fis = new FileInputStream("c:/java/abc.txt");
System.out.println((char)fis.read());}
catch(FileNotFoundException e1){}
catch(IOException e2){}
}
}
로 하면 문자 A 가 나옵니다~
import java.io.*;
import java.util.*;
class A{
public static void main(String args[])throws Exception{
try{
Scanner sc = new Scanner(new FileInputStream("c:/java/a.java"));
int num =1;
while(true) System.out.println((num++) + ":" +sc.nextLine());
}catch(NoSuchElementException e){}
}
}
Scanner 객체에게 a.java 파일을 읽어오게 합니다.
int num =1 로 각 줄에 넘버링을 합니다
while 문으로 nextLine 메소드를 사용해서 한 줄씩 읽어 오게 합니다.
더이상 읽어올 문장이 없으면 Exception 이 발생해서 try catch 로 잡아 줍니다
import java.io.*;
import java.util.*;
class A{
public static void main(String args[])throws Exception{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
while(true){
String line = br.readLine();
if(line==null) break;
System.out.println(line);
}}}
다른 방법으로는 InputStreamReader 랑 BufferedReader 입니다
InputStreamReader에 cmd 창을 읽어올 거라 알려줍니다.
InputStreamReader 객체를 BufferedReader() 에 넣어서 다음줄을 읽어올거라 합니다
br.readLine() 은 줄이 있는한 계속 읽어 옵니다.
파일을 읽어오려면
FileInputStream fis = new FileInputStream("파일명");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);