E/s arquivos

ae pessoal fazendo o simulado whilabs me deparei com varias questoes de E/S misturado com serialização e para nao deixar o cara muito triste era de drop hehe… entao voltei meus estudos pq errei boa parte delas… e em função resolvi abrir esse topico para quem está em fase de estudo para grande certificacao java 5… segue uma classe que fiz abordando o assunto com coisas basicas mais que pode cair:

import java.io.*;
import java.util.Scanner;
class Principal{
	public static void main(String agrs[]){
		Scanner dados = new Scanner(System.in);
		String[] nome = new String[10];
		int[] cpf = new int[10];
		int cont=0;
		try{
		File f = new File("cad");
			f.mkdir();
			//se o diretorio foi criado return true
			System.out.println("directory - "+f.isDirectory());
			
		File fi = new File(f,"cad.txt");
		
		//ele so aceita String e File no java 5.
		PrintWriter pw = new PrintWriter(fi);
			//return true se arquivo foi criado
			System.out.println("file - " + fi.isFile());
			System.out.println("Loading... Cadastro de clientes");
			
		while(cont<2){
			
			System.out.print("Nome do cliente: ");
				nome[cont]=dados.next();
			System.out.println("\nCpf do Cliente: ");
				cpf[cont]=dados.nextInt();
				pw.println(nome[cont]);
				pw.println(cpf[cont]);
				cont++;
		}
		pw.flush();
		pw.close();
		
		//lendo o arquivo e exibindo o que tem gravado nele
		FileReader fr = new FileReader(fi);
			BufferedReader br = new BufferedReader(fr);
		String r;
		//enquanto nao tiver uma linha vazia va imprimindo
		while((r=br.readLine())!=null){
			System.out.println("clientes Cadastrado " + r);
		System.out.println();}
		br.close();
			
		}catch(IOException e){e.printStackTrace();}			
				
	}
}
/*o objetivo aqui nessa classe é aprimorar os conhecimentos com navegação de 
arquivos.
observe que antes de receber os dados via console os arquivos e diretorio
sao criados e em seguida  o cadastrado começa a ser executado.
pontos a analisar:
que nosso cadastrado é limitado ao tamanho do array caso tente colocar
um cliente fora do escopo desse array uma exceção eh lançada mais isso nao acontece
devido ao meu while*/

/* assunto abordados nesse pequeno programa:
- exceções
- declaração e escopo
- E/S - classes IOException
- PrintWriter - aceitando String e File - java 5 isso eh novo */

/* ae pessoal tem muita questao de drop sobre esse assunto.. muita mesmo o whilabs
tem tantas da class IO que resolvi praticar bastante, poucas quetoes de 
multipla escolha poucas mesmo.. quase que nao vi..*/

//by Camilo Lopes*/

flw :D!!