JAVA

7일차

구자룡 2021. 3. 12. 17:03

 

import java.io.*;

public class Exam01 {

    public static void main(String[] ar) {

       String a=File.pathSeparator;

       char b=File.pathSeparatorChar;

       String c=File.separator;

       char d=File.separatorChar;

      

       System.out.println("a="+a);

       System.out.println("b="+b);

       System.out.println("c="+c);

       System.out.println("d="+d);

    }

 

}

결과:

a=;
b=;
c=\
d=\

//파일클래스의 메소드에 대한 사용예제프로그램.

import java.io.*;

public class Exam03 {

    public static void main(String[] ar) {

       File f=new File("Exam01.java");

       System.out.println("canread?"+f.canRead());

       System.out.println("canWrite?"+f.canWrite());

      

       File f1=new File("aaa.txt");

       try {

       boolean bool=f1.createNewFile();

    System.out.println("bool="+bool);//만들어지면(true) 아니면(false)

    }catch(IOException e) {}

       System.out.println("생성됨.");      

      

       boolean a=f1.exists();

       System.out.println("a="+a);

      

        System.out.println("f1.name="+f1.getName());

      

//     boolean bool=f1.delete();

//     System.out.println("f1.bool="+bool);

       f1.deleteOnExit();

       try {

           Thread.sleep(3000);

       }catch(InterruptedException e) {}

 

}

}

결과:

canread?false

canWrite?false

bool=true

생성됨.

a=true

f1.name=aaa.txt

import java.io.*;

public class Exam05 {

    public static void main(String[] ar) throws IOException {

       //일반적인 출력시키는 객체를 하나만들어 봄.

       OutputStreamWriter osw=new OutputStreamWriter(System.out);

       BufferedWriter bw=new BufferedWriter(osw,1024);

       PrintWriter pw=new PrintWriter(bw);

      

       //파일에 출력하기 위해서..파일을 하나 만듬.

       File f=new File("ccc.txt");

       FileWriter fw=new FileWriter(f);//쓰기위하여 파일라이터클래스를 사용.

       BufferedWriter bw1=new BufferedWriter(fw,1024);

       PrintWriter pw1=new PrintWriter(bw1);

      

       pw.println(10);

       pw.println("안녕하세요?");

      

       pw1.println(20);

       pw1.println("굿모닝~!!");

      

       pw.close();

       pw1.close();

    }

 

}

결과:

10
안녕하세요?

//키보드에서 들어온 입력문자나 숫자나 그리고 작성된 파일을 읽어서 출력시키는 프로그램 입출력예제임.

import java.io.*;

public class Exam06 {

    public static void main(String[] ar) throws IOException {

       //먼저 키보드로부터 입력받는 내용임.

       InputStreamReader isr = new InputStreamReader(System.in);

       BufferedReader br=new BufferedReader(isr);

       //BufferedReader in=new BufferedReader(new InputSystem(System.in));

       //결국 이것이 키보드로부터의 입력코딩임.

      

       //파일로부터의 입력은..

       File f=new File("ccc.txt");

       FileReader fr=new FileReader(f);

       //버퍼를 사용하자

       BufferedReader br1=new BufferedReader(fr);

      

       //그다음에는 키보드로부터 입력내용들을 진행함.

       System.out.print("문자열=");

       String str=br.readLine();

       System.out.println("str="+str);

      

    System.out.print("숫자는=");//숫자인경우이기때문에 형변환이 필요함.

       int x=Integer.parseInt(br.readLine());

       System.out.println("x="+x);

      

    System.out.println("#######################");

    //파일로부터 읽어오는 방법임.

    while(true) {//무한으로 읽어들어오는 방식으로..

        String s=br1.readLine();

        if(s==null) break;

        System.out.println("s="+s);

    }

    br.close();

    br1.close();

      

      

    }

 

}

결과:

문자열=abc
str=abc
숫자는=123
x=123
#######################
s=20
s=굿모닝~!!

//Scanner class를 사용하는 예제임.

import java.io.*;

import java.util.*;

public class Exam07 {

    public static void main(String[] ar) throws IOException {

       //키보드로부터 입력받은것을 만들어보자.

       Scanner in = new Scanner(System.in);

       System.out.print("문자열=");

       String str=in.next();//FiFO, LIFO

      

       System.out.print("숫자=");

       int x=in.nextInt();

      

       System.out.print("더블숫자=");

       double y=in.nextDouble();

      

       System.out.println("str="+str);

       System.out.println("x="+x);

       System.out.println("y="+y);

      

    }

   

}

결과:

문자열=ㄹㅁ
숫자=25
더블숫자=456345394856032475
str=ㄹㅁ
x=25
y=4.5634539485603245E17

//입력되는 숫자형 데이터를 받아서 총점과 갯수 그리고 평균을 구하는 예제임.

import java.io.*;

import java.util.*;

public class Exam08 {

    public static void main(String[] ar) throws IOException {

       if(ar.length<1) System.exit(0);

       String str="";

       for(int i=0;i<ar.length;++i) {

           str +=ar[i]+" ";

       }

       System.out.println("str="+str);

    }

 

}

결과:

str=10 20 30 

import java.io.*;

class AAA implements Serializable{//객체직렬화

    int x=100;

    int y=200;

    int z=300;

   

}//이 멤버들을 전부 보내기위하는 방법으로 묶어서 보내는 방법에 객체를 이용하면 좋겠음.

 

public class Exam09 {

    public static void main(String[] ar) throws IOException{

       AAA ap=new AAA();

       //이 ap라는 객체를 이용해서 보내자는 것임.

      

       //우선 파일객체를 하나 만듬.

       File f= new File("ddd.txt");

       FileOutputStream fos=new FileOutputStream(f);

       BufferedOutputStream bos=new BufferedOutputStream(fos,1024);

       ObjectOutputStream oos=new ObjectOutputStream(bos);

      

       oos.writeObject(ap);

       oos.close();

       System.out.println("출력완료");

    }

 

}

결과:

출력완료

//객체화된 보낸 파일을 수신하는 코드예제임.

import java.io.*;

public class Exam10 {

    public static void main(String[] ar) throws IOException{

       //aaa파일은 폴더안에 있기때문에 필요없음.

       File f= new File("ddd.txt");

       FileInputStream fis=new FileInputStream(f);

       //f에 대한 스트림권한을 열겠습니다.

       BufferedInputStream bis=new BufferedInputStream(fis,1024);

       ObjectInputStream ojs=new ObjectInputStream(bis);

      

       //읽어오면 됨..

       Object obj=null;

       try {//readObject인경우 예외처리가 두가지를 취하여 주어야함.  

       obj=ojs.readObject();

       }catch(ClassNotFoundException e) {}

      

        //obj에 들어온 데이터타입은?

       AAA ap=(AAA)obj;//형변환은 클래스이름으로 형변환을 해야됨.

       System.out.println("x="+ap.x);

       System.out.println("y="+ap.y);

       System.out.println("z="+ap.z);

    }

 

}

결과:

x=100
y=200
z=300

 

'JAVA' 카테고리의 다른 글

9일차  (0) 2021.04.07
8일차  (0) 2021.04.05
6일차  (0) 2021.03.11
5일차  (0) 2021.03.10
4일차  (0) 2021.03.09