'Java > 입출력' 카테고리의 다른 글

직렬화  (0) 2012.04.13
File 생성 및 변경  (0) 2012.04.13
FileEx4  (0) 2012.04.13
디렉토리 정보  (0) 2012.04.13
입출력으로 파일 상세정보  (0) 2012.04.13
package com.serial;

import java.io.Serializable;

//Serializable 인터페이스를 구현하는 것은 해당클래스가 직렬화 대상임을 명시하는 역할
public class Customer implements Serializable{
	//멤버 변수
	private String name;
	//생성자
	public Customer(String name){
		this.name=name;
	}
	public void setName(String name){
		this.name=name;
	}
	public String getName(){
		return name;
	}
	//Object to String()재정의
	public String toString(){
		return "당신의 이름: "+name;
	}
	
	public static void main(String[] args) {
		
	}
}



package com.serial;

import java.io.ObjectOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.FileInputStream;

public class ObjectInOutputStreamEx {
	public static void main(String[] args) {
		ObjectOutputStream oos=null;
		FileOutputStream fos=null;
		ObjectInputStream ois=null;
		FileInputStream fis=null;

		try{
			fos=new FileOutputStream("Object.ser");
			//객체 직렬화
			oos=new ObjectOutputStream(fos);
			oos.writeObject(new Customer("홍길동"));

			fis=new FileInputStream("object.ser");
			ois=new ObjectInputStream(fis);

			Customer m=(Customer)ois.readObject();
			System.out.println(m);
		}catch(IOException ioe){
			ioe.printStackTrace();
		}catch (ClassNotFoundException cnfe){
			cnfe.printStackTrace();
		}finally{
			try{
				if(oos!=null)oos.close();
				if(fos!=null)fos.close();
				if(ois!=null)ois.close();
				if(fis!=null)fis.close();
			}catch(IOException ioe){
				ioe.printStackTrace();
			}
		}
	}

}



package com.serial;

import java.io.Serializable;

public class UserInfo implements Serializable{
	String id;
	String password;
	int num;

	public UserInfo(String id, String password,int num){
		this.id= id;
		this.password= password;
		this.num= num;
	}
	@Override
	public String toString(){
		return "UserInfo {id="+id+", password ="+ password+", num="+num+"}";
	}

}



package com.serial;

import java.util.ArrayList;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.IOException;

public class SerialEx1 {
	public static void main(String[] args) {
		try{
			String fileName = "UserInfo.ser";
			FileOutputStream fos = new FileOutputStream(fileName);

			ObjectOutputStream out = new ObjectOutputStream(fos);

			UserInfo u1 =new UserInfo("JavaMan","1234",30);
			UserInfo u2 =new UserInfo("JavaWoMan","4321",26);

			ArrayList list = new ArrayList();

			list.add(u1);
			list.add(u2);

			//객체를 직렬화 한다.
			out.writeObject(u1);
			out.writeObject(u2);
			out.writeObject(list);
			out.close();
			fos.close();
			System.out.println("직렬화가 잘 끝났습니다.");
		}catch(IOException e){
			e.printStackTrace();
		}
	}//main
}//class



package com.serial;

import java.util.ArrayList;
import java.io.ObjectInputStream;
import java.io.FileInputStream;
import java.io.IOException;

public class SerialEx2 {
	public static void main(String[] args) {
		try{
			String fileName = "UserInfo.ser";
			FileInputStream fis = new FileInputStream(fileName);

			ObjectInputStream in = new ObjectInputStream(fis);

			//객체를 읽을때는 출력한 순서와 일치해야 한다.
			UserInfo u1 = (UserInfo)in.readObject();
			UserInfo u2 = (UserInfo)in.readObject();

			ArrayList list = (ArrayList)in.readObject();

			System.out.println(u1);
			System.out.println(u2);
			System.out.println(list);
			in.close();
			fis.close();
		}catch(Exception e){
			e.printStackTrace();
		}
	}//main
}//class


'Java > 입출력' 카테고리의 다른 글

예비  (0) 2012.04.13
File 생성 및 변경  (0) 2012.04.13
FileEx4  (0) 2012.04.13
디렉토리 정보  (0) 2012.04.13
입출력으로 파일 상세정보  (0) 2012.04.13
package com.file;

import java.io.File;
import java.io.IOException;

public class FileTest02 {
	public static void main(String[] args) throws IOException{

		System.out.println("===파일 생성===");
		//시스템에서 사용하는 디렉토리 구분자를 반환
		//System.getProperty("file.separator") = File.separator
		File f3 = new File("c:"+File.separator+"test.txt");
		//없으면 만들면서 true 리턴 있으면 false 리턴
		System.out.println(f3.createNewFile());
		System.out.println(f3.getPath());
		System.out.println(f3.getName());
		System.out.println(f3.getParent());
		
		System.out.println("===파일명 변경===");
		
		File f4 = new File("c:"+File.separator+"test1.txt");
		System.out.println(f3.renameTo(f4));
		
		
		//없는 디렉토리일 경우 만들고 true 리턴
		System.out.println("===디렉토리 생성===");
		//디렉토리 생성
		
		File f5 = new File("c:"+File.separator+"year");
		System.out.println(f5.mkdir());
	}
}


'Java > 입출력' 카테고리의 다른 글

예비  (0) 2012.04.13
직렬화  (0) 2012.04.13
FileEx4  (0) 2012.04.13
디렉토리 정보  (0) 2012.04.13
입출력으로 파일 상세정보  (0) 2012.04.13
package com.file;//

import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;

public class FileEx4 {
	public static void main(String[] args) {

		String currDir = System.getProperty("user.dir");
		File dir = new File(currDir);

		File[] files = dir.listFiles();

		for(int i=0; i<files.length;i++){
			File f= files[i];
			String name = f.getName();//디렉토리명 또는 파일명
			SimpleDateFormat df =new SimpleDateFormat("yyyy-MM-DD HH:mma");
			String attribute = "";
			String size="";

			if(files[i].isDirectory()){
				attribute = "DIR";
			}else{
				size = f.length()+""; //형변환 long -> String
				attribute = f.canRead() ? "R" : " ";
				attribute = f.canWrite() ? "W" : " ";
				attribute = f.isHidden() ? "H" : " ";
			}

			System.out.printf("%s %3s %6s %s\n",df.format
					(new Date(f.lastModified())),attribute,size,name);

		}
	}
}


'Java > 입출력' 카테고리의 다른 글

직렬화  (0) 2012.04.13
File 생성 및 변경  (0) 2012.04.13
디렉토리 정보  (0) 2012.04.13
입출력으로 파일 상세정보  (0) 2012.04.13
키보드에서 입력받은 내용을 파일에 기록하기  (0) 2012.04.13
package com.file;

import java.io.File;

public class FileEx2 {
	public static void main(String[] args) {

		String file = "C:\\";

		File f = new File(file);

		if(!f.exists() || !f.isDirectory()){
			System.out.println("유효하지 않은 디렉토리 입니다.");
			System.exit(0);
		}

		//전달되는 디렉토리의 서브디렉토리와 파일 정보를
		//File[]로 반환
		File[] files = f.listFiles();

		for(int i=0; i<files.length; i++){
			String fileName = files[i].getName();
			System.out.println(files[i].isDirectory() ? "["+fileName+"]" :fileName+"("+files[i].length()+"byte)");
		}
	}
}


'Java > 입출력' 카테고리의 다른 글

File 생성 및 변경  (0) 2012.04.13
FileEx4  (0) 2012.04.13
입출력으로 파일 상세정보  (0) 2012.04.13
키보드에서 입력받은 내용을 파일에 기록하기  (0) 2012.04.13
Buffered Writer  (0) 2012.04.13
package com.file;

import java.io.File;
import java.util.Date;

public class FileTest01{
	public static void main(String[] args) throws Exception{
		File file = null;
		byte[] byteFileName = new byte[100];
		String fileName;
		System.out.print("파일명 -> ");
		System.in.read(byteFileName);

		fileName = new String(byteFileName).trim();
		file = new File(fileName);
		System.out.println("파일 상세 정보*****");
		System.out.println("절대 경로 : "+file.getAbsolutePath());
		System.out.println("표준 경로 : "+file.getCanonicalPath());
		System.out.println("생성일 : "+new Date(file.lastModified()));
		System.out.println("파일 크기 : "+file.length());
		System.out.println("읽기 속성 : "+file.canRead());
		System.out.println("쓰기 속성 : "+file.canWrite());
		System.out.println("파일 경로 : "+file.getParent());
		System.out.println("숨김 속성 : "+file.isHidden());		
	}
}


'Java > 입출력' 카테고리의 다른 글

FileEx4  (0) 2012.04.13
디렉토리 정보  (0) 2012.04.13
키보드에서 입력받은 내용을 파일에 기록하기  (0) 2012.04.13
Buffered Writer  (0) 2012.04.13
Buffer Writer  (0) 2012.04.13
package com.writer;//키보드에서 입력받은 내용을 파일에 기록하기

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;

public class ReaderWriterTest03 {
	public static void main(String[] args) {
		String fileName;
		String buf;
		Reader myIn = new InputStreamReader(System.in);
		BufferedReader keyBr = new BufferedReader(myIn);
		try{
			System.out.print("파일 이름을 입력하세요 ->");
			fileName = keyBr.readLine();
			FileWriter fw = new FileWriter(fileName);
			BufferedWriter fileBw =new BufferedWriter(fw);
			System.out.println("파일에 저장할 내용을 입력하세요");
			while((buf = keyBr.readLine()) != null){
				fileBw.write(buf);
				fileBw.newLine();
			}
			fileBw.close();
			keyBr.close();
			myIn.close();
		}catch(IOException e){
			System.out.print(e);
		}
	}
}


'Java > 입출력' 카테고리의 다른 글

디렉토리 정보  (0) 2012.04.13
입출력으로 파일 상세정보  (0) 2012.04.13
Buffered Writer  (0) 2012.04.13
Buffer Writer  (0) 2012.04.13
File Reader  (0) 2012.04.13
package com.writer;//bufferd writer

import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;

public class BufferedWriterEx {
	public static void main(String[] args) {
		FileWriter fw = null;
		BufferedWriter bw = null;
		try{
			fw = new FileWriter("bufferWriter.txt");
			bw = new BufferedWriter(fw);
			bw.write("BufferedWriter 테스트 입니다");
			bw.newLine();//줄바꿈
			bw.write("안녕하세요"+ 
			
					//시스템에서 사용하는 개행 문자를 읽옴
					System.getProperty("Line.separator")+"카카하하하");
			//bw.flush();//close()메소드가 플러시를 대신함 생략가능


		}catch(IOException ioe){
			ioe.printStackTrace();
		}finally{
			try{
				if(bw != null)bw.close();
				if(fw != null)bw.close();
			}catch(IOException ioe){
				ioe.printStackTrace();
			}
		}
	}

}


'Java > 입출력' 카테고리의 다른 글

입출력으로 파일 상세정보  (0) 2012.04.13
키보드에서 입력받은 내용을 파일에 기록하기  (0) 2012.04.13
Buffer Writer  (0) 2012.04.13
File Reader  (0) 2012.04.13
한줄 단위로 문자열 입력받아 처리하기  (0) 2012.04.13
package com.writer; //bufferd writer 사용

import java.io.FileWriter;
import java.io.IOException;

public class FileWriterEx {
	public static void main(String[] args) {
		FileWriter fw = null;
		try{
			//fw = new FileWriter("fileWriter.txt");
			fw = new FileWriter("fileWrtier.txt",true);
			String message = "안녕하세요 FileWriter 테스트";
			fw.write(message);
		}catch (IOException ioe){
			ioe.printStackTrace();
		}finally{
			try{
				if(fw != null)fw.close();
			}catch(IOException ioe){
				ioe.printStackTrace();
			}
		}
	}

}


'Java > 입출력' 카테고리의 다른 글

키보드에서 입력받은 내용을 파일에 기록하기  (0) 2012.04.13
Buffered Writer  (0) 2012.04.13
File Reader  (0) 2012.04.13
한줄 단위로 문자열 입력받아 처리하기  (0) 2012.04.13
Buffer사용  (0) 2012.04.13
package com.reader;//FileReader

import java.io.FileReader;
import java.io.IOException;

public class FileReaderEx {
	public static void main(String[] args) {
		FileReader fr= null;
		//넉넉잡아 공간형성 (FileReader에는 정확한 값을 인지하는 메소드가 없다)
		char date[] = new char[100];
		try{
			fr = new FileReader("file.txt");
			int readChar;
			
							//입력한 문자 하나를 읽어 들어서 유니코드로 반환
			while((readChar = fr.read()) != -1){
				System.out.print((char)readChar);
			}
			/*fr.read(date);
			System.out.println(new String(date).trim());*/
			
		}catch(IOException ieo){
			ieo.printStackTrace();
		}finally{
			try{
				if(fr != null)
					fr.close();
			}catch(IOException ioe){
				ioe.printStackTrace();
			}
		}
	}
}


'Java > 입출력' 카테고리의 다른 글

Buffered Writer  (0) 2012.04.13
Buffer Writer  (0) 2012.04.13
한줄 단위로 문자열 입력받아 처리하기  (0) 2012.04.13
Buffer사용  (0) 2012.04.13
입출력 파일 생성및 파일 읽기  (0) 2012.04.13
package com.reader;//한줄 단위로 문자열 입력받아 처리하기

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class ReaderWriterTest01 {
	public static void main(String[] args){
		String fileName;
		//inputStreamReader 객체생성 inputstream을 inpuStreamReader로 바꿈
		//바이트 스트림 -> 문자 스트림
		//InputStreamReader myIn = new InputStreamReader(System.in);
		//BufferedReader keyBr = new BufferedReader(myIn);
		
		BufferedReader keyBr = new BufferedReader(new InputStreamReader(System.in));
		
		try{
			System.out.print("파일 이름을 입력하세요 -> ");

			fileName = keyBr.readLine();
			System.out.println(fileName);
			//keyBr.close();
			//myIn.close();
		}catch(IOException e){
			System.out.print(e);
		}finally{
			if(keyBr != null);{
				try{
					//스트림을 닫음
					keyBr.close();
				}catch(IOException e){
					e.printStackTrace();
				}
			}
			/*if(myIn != null){
				try{
					myIn.close();
				}catch(IOException e){
					e.printStackTrace();
				}
			}*/

		}

	}
}


'Java > 입출력' 카테고리의 다른 글

Buffer Writer  (0) 2012.04.13
File Reader  (0) 2012.04.13
Buffer사용  (0) 2012.04.13
입출력 파일 생성및 파일 읽기  (0) 2012.04.13
IO Stream 키보드로 부터 한글자를 입력받아 화면에 출력  (0) 2012.04.13
package com.output;//Buffer 사용 입력
//버퍼 사용 장점 빠른 속도와 안전성

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class BufferedOutputStreamEx {
	public static void main(String[] args) {
		FileOutputStream fos = null;
		BufferedOutputStream bos = null;
		try{
			fos = new FileOutputStream("bufferOut.txt");
			bos = new BufferedOutputStream(fos);
			String str = "BufferedOutputStream Test 입니다.";

			//버퍼에 데이터를 저장하고
			//flush() 또는 close() 가 호출되면 데이터를 
			//버퍼에서 비우고 해당데이터를 파일에 저장
			bos.write(str.getBytes());
			//bos.flush();
			//플러시 하지 않으면 출력된 내용이 저장되지 않음

		}catch(IOException ie){
			ie.printStackTrace();
		}finally{
			try{
				//flush() 안해도 close()하면 내용 저장
				if(bos != null)bos.close();
				if(fos != null)fos.close();
			}catch(IOException ioe){
				ioe.printStackTrace();
			}
		}
	}
}


package com.output; // 입출력으로 파일생성 및 파일 읽기

import java.io.IOException;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class FileOuputstreamEx {
	public static void main(String[] args) {
		FileOutputStream fos = null;
		FileInputStream fin = null;
		try{
			//파일 생성
			fos = new FileOutputStream("c:\\fileout.txt");
			
			//fos = new FileOutputStream("c:\\fileout.txt",true);
			//기존 파일이 있으면 이어쓰기함
			String message = "Hello File!! 즐거운 하루!!";
			
			//String -> byte[]
			//생성된 파일에 데이터 입력
			fos.write(message.getBytes());
			
			
			//존재하는 파일을 읽어드림
			fin = new FileInputStream("c:\\fileout.txt");
			byte[]b = new byte[fin.available()];
			
			//파일로부터 데이를 읽어드림
			fin.read(b);
			
			//byte ->String
			//문자열 출력
			System.out.println(new String(b));
			
		}catch(FileNotFoundException fnfe){
			fnfe.printStackTrace();
		}catch(IOException ie){
			ie.printStackTrace();
		}finally{
			try{
				//스트림을 닫음
				if(fos != null) fos.close();
				if(fin != null) fin.close();
			}catch(IOException ioe){
				ioe.printStackTrace();
			}
		}
	}
}


'Java > 입출력' 카테고리의 다른 글

Buffer Writer  (0) 2012.04.13
File Reader  (0) 2012.04.13
한줄 단위로 문자열 입력받아 처리하기  (0) 2012.04.13
Buffer사용  (0) 2012.04.13
IO Stream 키보드로 부터 한글자를 입력받아 화면에 출력  (0) 2012.04.13
package com.input;//키보드로 부터 한글자를 입력받아 화면에 출력
//ioStream

public class IOTest00 {
	public static void main(String[] args) throws Exception{
		int date=0;
		System.out.println("문자를 입력하세요. 끝내려면 [Ctrl + Z]를 누르세요");

		while((date= System.in.read()) != -1){
			System.out.print((char)date);
			System.out.print("\t"+date+"\n");
		}//while
	}//main
}





package com.input; //특정 파일의 내용을 화면에 출력

import java.io.FileInputStream;
import java.io.IOException;

public class IOTest03 {
	public static void main(String[] args) {
		int date=0;
		//c:\\filetest.txt와 동일 \특수문자 -> 경로/를 사용할 경우는 일반문자로 인식
				String path ="c:/filetest.txt";

		try{
			FileInputStream fis = new FileInputStream(path);
			while((date = fis.read())!= -1){
					System.out.print((char)date);
			}
		}catch(IOException e){
			e.printStackTrace();
		}
	}
}





package com.input; //특정 파일의 내용을 화면에 출력

import java.io.FileInputStream;
import java.io.IOException;

public class IOTest04 {
	public static void main(String[] args) {
		//c:\\filetest.txt와 동일 \특수문자 -> 경로/를 사용할 경우는 일반문자로 인식
		String path ="c:/filetest.txt";

		try{
			FileInputStream fis = new FileInputStream(path);
			byte[] date =new byte[fis.available()];

			fis.read(date);
							//byte[] -> String
			System.out.println(new String(date));

		}catch(IOException e){
			e.printStackTrace();
		}
	}
}





package com.input; //특정 파일의 내용을 화면에 출력

import java.io.FileInputStream;
import java.io.IOException;

public class IOTest05 {
	public static void main(String[] args) {
		int date=0;
		//c:\\filetest.txt와 동일 \특수문자 -> 경로/를 사용할 경우는 일반문자로 인식
				String path ="c:/filetest.txt";

		try{
			FileInputStream fis = new FileInputStream(path);
			while((date = fis.read())!= -1){
				//wirte = line by line으로 읽음	println이랑 다르게 마지막에 줄바꿈 해야됨
				//줄바꿈이 되지 않았을경우 그 라인은 출력되지 않음
				System.out.write(date);
			}
		}catch(IOException e){
			e.printStackTrace();
		}
	}
}


'Java > 입출력' 카테고리의 다른 글

Buffer Writer  (0) 2012.04.13
File Reader  (0) 2012.04.13
한줄 단위로 문자열 입력받아 처리하기  (0) 2012.04.13
Buffer사용  (0) 2012.04.13
입출력 파일 생성및 파일 읽기  (0) 2012.04.13

+ Recent posts