Derrame Fundamentos
Um fluxo ou é uma fonte de bytes ou um destino para bytes. A
ordem é significante. Por exemplo, um programa queira ler de um teclado pode
usar um fluxo, a ordem de entrada dos dados será a ordem do fluxo.
Introduza Métodos de Fluxo
Estes três métodos provêem acesso para os dados do tubo. O
método lido simples devolve um tipo int que ou contém um byte lido do fluxo ou
-1 que indica o fim de condição de arquivo.
Método do Fluxo de produção
Estes métodos escrevem ao fluxo de produção. Como com a
entrada, você tentar escrever dados no bloco prático maior. close ()
Deveriam
ser fechados fluxos de produção quando você terminou com eles. Novamente, se
você tem uma pilha e fecha o topo um, isto fecha o resto dos fluxos. flush ()
Os leitores e Escritores
Unicode
Java usa Unicode por representar fios e caracters, e a versão 16 bits
provê pedaço de fluxos para permitir tratar caráter similares. Esta versão
é chamada de os leitores e escritoras, e como com fluxos, uma variedade deles
está disponível no pacote java.io.
Byte e Conversões de Caráter
Através de falta, se você constrói um leitor simplesmente ou o
escritor conectou a um fluxo, então as regras de conversão mudarão entre
bytes que usam o caráter de plataforma de falta que codifica e Unicode.
O Leitor de Buffered e Escritor
Porque convertendo entre formatos é como outras operações de I/O,
eficazmente executadas em pedaços grossos grandes, que geralmente é uma idéia
boa para encadear um BufferedReader ou BufferedWriter sobre o fim de um
InputStreamReader ou InputStreamWrite.
Arquivos
Antes de você querer executar operações de I/O em um arquivo, você
tem que obter informação básica sobre aquele arquivo. A classe de Arquivo
provê várias utilidades para lidar com arquivos e obter informação básica
sobre estes arquivos.
Exercícios
Exercício
01
import
java.io.*;
class
Prog1201 { public static void main(String arg[]) throws IOException
{ int b;
int count=0;
while( (b = System.in.read()) != (int)'\n')
{ count++; System.out.println( (char) b);}
System.out.println("contagem = " + count);
}
}
Exercício
02
import
java.io.*;
class
Prog1202 { public static void main(String arg[])
{ int b = (int)'F' ;
System.out.write(b);
System.out.flush();
}
}
Exercício
03
import
java.io.*;
class
Prog1203 { public static void main(String ar[]) throws IOException
{ String x = "Curso de Java";
byte[] a = new byte[10];
x.getBytes(0,7,a,0);
System.out.write(a);
}
}
Exercício
04
import
java.io.*;
class
Prog1204 { public static void main(String ar[]) throws IOException
{int car;
FileInputStream arq;
try{ arq = new FileInputStream("teste.txt");
while( (car = arq.read() ) !=-1 )
System.out.write(car);
}
catch(FileNotFoundException e) { System.out.println("nao
existe");
}
}
}
Exercício
05
import
java.io.*;
class
Prog1205 { public static void main(String ar[]) throws IOException
{ int car;
FileOutputStream arq;
try{ arq = new
FileOutputStream("teste1.txt");
while( (car = System.in.read()) != -1)
arq.write(car);
arq.flush( );
}
catch(FileNotFoundException e) { System.out.println("nao
existe");}
}
}
Exercício
06
import
java.io.*;
class
Prog1206 { public static void main(String arg[]) throws IOException
{
FileOutputStream arq1 = new FileOutputStream("E1.txt");
FileOutputStream arq2 = new FileOutputStream("E2.txt");
DataOutputStream d1 = new DataOutputStream(arq1);
DataOutputStream d2 = new DataOutputStream(arq2);
d1.writeByte((int) 'a');
d1.writeByte((int) 'a');
d1.writeByte((int) 'a');
d2.writeChar((int) 'a');
d2.writeChar((int) 'a');
d2.writeChar((int) 'a');
}
}
Exercício
07
import
java.io.*;
class
Prog1207 { public static void main(String arg[]) throws IOException
{
FileOutputStream arq1 = new FileOutputStream("dado.bin");
DataOutputStream d1 = new DataOutputStream(arq1);
d1.writeInt(10);
d1.writeInt(20);
d1.writeInt(345);
FileInputStream arq2 = new FileInputStream("dado.bin");
DataInputStream d2 = new DataInputStream(arq2);
try{ while(true) System.out.println(d2.readInt());}
catch(EOFException e) { System.out.println("acabou o
arquivo");}
}
}
Exercício
08
import
java.io.*;
class
Prog1208 { public static void main(String arg[]) throws IOException
{ String str = "ABCDEF";
FileOutputStream arq1 = new FileOutputStream("saida1");
DataOutputStream d1 = new DataOutputStream(arq1);
FileOutputStream arq2 = new FileOutputStream("saida2");
DataOutputStream d2 = new DataOutputStream(arq2);
d1.writeBytes(str);
d2.writeChars(str);
}
}