Imput e output de ficheiros txt

Estou com problemas em ir buscar um ficheiro txt e dividilo em vários ficheiros de 100 caracteres , agora apenas consigo fazer a copia do ficheiro para outro igual não o consigo dividir em vários.

Código:

[code]import java.io.*;

class Copy {
public static void main(String[] args) throws IOException {
File inputFile = new File("PS.txt");
File outputFile = new File("out.txt");

FileReader in = new FileReader(inputFile);
FileWriter out = new FileWriter(outputFile);
int c;

while ((c = in.read()) != -1)
out.write(c);

in.close();
out.close();
}
}
[/code]

Como posso fazer para conseguir contar os caracteres do ficheiro e ir criando vários ficheiros do mesmo tamanha. Agradecia ajuda se possivel

Como é que crio um contador para os bytes… que quando conte o tamanho pretendido grava no arquivo… e começa a escrever outro arquivo…

Quando tento colocar um contador para dividir o ficheiro em vários txt, já não me lê o codigo, como poderei fazer de maneira a que consiga contar o numero de caracteres e mandar escrever em ficheiros diferentes.
[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - AnjoSupremo[/color][/size] :joia:

Tente assim:

[code]import java.io.*;

class Copy {
public static void main(String[] args) throws IOException {
File inputFile = new File("PS.txt");
File outputFile = new File("out.txt");

  FileReader in = new FileReader(inputFile);
  FileWriter out = new FileWriter(outputFile);
  int c;
  int conta = 0;

  while ((c = in.read()) != -1){
     out.write(c);
     conta++;
     if((conta%100)==0){
        out.close();
        outputFile = new File("out"+conta/100+".txt");
        out = new FileWriter(outputFile);
     }
  }

  in.close();
  out.close();

}
}[/code]

Obrigado, resolveu o problema

Mais uma questão e no caso de em vez de escrever vários ficheiros apenas escreve um mas os rejistos ficam cada um em sua linha.

        if((conta%100)==0){
            out.write(System.getProperties("line.separator"));
         }

Muito Obrigado resultou.

Como posso fazer para em vez de escrever vários registos carregar cada registo para o campo de um vector?

opa beleza?
você se refere a algo mais ou menos do genero… :roll:

[code]class LoadToList {
public static void main(String[] args) throws IOException {
File inputFile = new File("PS.txt");

  FileReader in = new FileReader(inputFile);
  int c;
  List conta = new ArrayList();

  while ((c = in.read()) != -1){
     // adicionando o valor lido na lista
     conta.add( c );
  }
  in.close();

  System.out.println( "Foram lidos: " + conta.size() );

}
}[/code] :wink:

abraços

Com este código dá erro na linha conta.add( c ); e tenho de alterar o List conta = new ArrayList(); para ArrayList conta = new ArrayList();

È possivel ir guardando em cada linha com 100 caracteres em cada campo do vector ou só se consegue carregar todo o ficheiro para dentro do vector.

opa beleza?

bom tem como você realizar a leitura de linha de texto
do seu arquivo txt sim

...
File inputFile = new File("PS.txt");
FileReader reader = new FileReader(inputFile); 
BufferedReader leitor = new BufferedReader(reader);
...
List linhas = new ArrayList();
...
String linha = null;
while((linha = leitor.readLine())) {
    System.out.println("Linha: " + linha);
    linhas.add( linha );
}
...

seria algo mais ou menos do genero… :roll:
de uma olhada tambem neste tutorial

abraços