본문 바로가기

JAVA/파일 코드

파일//함수// 배열 파일 완성판

	public static void main(String[] args) {
		/*
		  	write 함수
		  		String arrAtr[] = {
		  			"Hello",
		  			"안녕하세요",
		  			"Hi"
		  		};
		  		파일명.txt 저장되는 함수		  
			
			read 함수
				String strArr[];
					[0] <- "Hello"
					[1] <- "안녕하세요"
					[2] <- "Hi"
		*/
		File file = new File("d:\\tmp\\test.txt");
		
		// 문자열
		String arrStr[] = {
	  			"Hello World",
	  			"안녕하세요",
	  			"Happy day",
	  			"Nice Day",
	  	};
		
		boolean b = dataSave(file, arrStr);
		if(b) {
			System.out.println("성공적으로 파일에 데이터가 저장되었습니다");
		}else {
			System.out.println("파일에 데이터가 저장되지 않았습니다");
		}
		
		String arrayStr[] = dataLoad(file);
		for (int i = 0; i < arrayStr.length; i++) {
			System.out.println(arrayStr[i]);
		}
				
	}
	
	static boolean dataSave(File f, String datas[]) {
		try {
			FileWriter fWriter = new FileWriter(f);
			BufferedWriter bw = new BufferedWriter(fWriter);
			PrintWriter pw = new PrintWriter(bw);
			
			for (int i = 0; i < datas.length; i++) {
				pw.println(datas[i]);				
			}			
			pw.close();
			
		} catch (IOException e) {			
		//	System.out.println("파일에 데이터가 저장되지 않았습니다");
			return false;
		}	
		
		// System.out.println("성공적으로 파일에 데이터가 저장되었습니다");
		return true;
	}
	
	
	static String[] dataLoad(File f) {
		String str[] = null;
		try {
			FileReader fr = new FileReader(f);
			
			// 데이터를 카운터 (몇개?)
			int count = 0;
			String s;
			BufferedReader br = new BufferedReader(fr);
			while((s = br.readLine()) != null) {
				count++;
			}
			br.close();
			
			// 배열을 셋팅
			str = new String[count];
			
			// 읽고 데이터를 저장
			int i = 0;
			fr = new FileReader(f);
			br = new BufferedReader(fr);
			while((s = br.readLine())!= null) {
				str[i] = s;
				i++;
			}
			br.close();
			
		} catch (Exception e) {			
			e.printStackTrace();
		}		
		return str;
	}
	
	
}

'JAVA > 파일 코드' 카테고리의 다른 글

pw 간단입력문제  (0) 2020.05.29
char 단위 입출력(나)  (0) 2020.05.29
다양한 타입의 입/출력(나)  (0) 2020.05.29
Byte단위 입출력(나)  (0) 2020.05.29
내가 쓰는 파일 개념(살짝 빡침..)  (0) 2020.05.29