Como usar o comando OutputStream no Java?

5 respostas
R

Pessoal, essa é minha primeira vez. Estou com o seguinte problema:
Preciso dividir um arquivo em varias partes, sem algoritmo de compreensao ou modo
storage (a la winrar), para isso vi que posso usar o comando OutputStream, mas não sei a sintaxe alguem pode me ajudar?

Abraços.

Rita

5 Respostas

A

Primeiro, já viu a sintaxe dele lá no site da oracle? Vai te ajudar a ter uma noção de como proceder com os métodos do OutputStream:
OutputStream

e tem esse site com alguns exemplos que podem te ser bem úteis:
JavadocExamples

R

Muito obrigada pela dica André, vou tentar implementar no meu programa.
Espero conseguir.

Abraços.

R

Oi Ricardo,

Tentei encaixar o comando no meu código e não consigo, vc pode me dar uma dica.

Meu problema é: Eu tenho um arquivo de 900MBytes
e quero dividir em pedacos de 30MB para
depois recuperar em outro server as partes
com que faria isso e qual sintaxe ? (Sem compreensao)!

Segue o código que estou usando.

Abraços

Rita

===================

import java.io.*;

public class ProcessadorTexto {

public static void main (String [] args) throws Exception{
ProcessadorTexto proc = new ProcessadorTexto();

String resultado = proc.loadFile(); 
   
   String[] vetor = resultado.split("\n");
   
   QuickSort.sort(vetor);
   QuickSort.sort(vetor);
   
   System.out.println("Exibir ordenados:");
   proc.saveFile(vetor);

}

public void saveFile(String vetor[]) throws IOException{

FileWriter fileWriter = new FileWriter(lista_ordenada.txt);

PrintWriter writer = new PrintWriter(fileWriter);

for (int j = 0; j < vetor.length; j++){

String elemento = vetor[j];

writer.println(elemento);

System.out.println(elemento);

}

writer.close();

}
public String loadFile() throws IOException{
   StringBuffer buffer = new StringBuffer();
   FileInputStream stream = new FileInputStream("lista_desordenada.txt");
     InputStreamReader streamReader = new InputStreamReader(stream);
     BufferedReader reader = new BufferedReader(streamReader); 
        
     // Neste while eh lido o arquivo linha a linha  
     String line = null;  
     while( (line=reader.readLine() ) != null ) {  
   	     buffer.append(line+"\n");
     //System.out.println(line);
     }   
   
    // fechando os objetos de io:  
    reader.close();   
    streamReader.close();   
    stream.close();
	return buffer.toString();

}

}

nel

Rita, por favor, sempre que postar código, utilize as tag Code, ok?
Senão fica complicado compreender o código, outro detalhe, é configuravél esta divisão de arquivos ou é fixa?

Exemplo, você disse dividir em pedaços de 30 MB, mas se o arquivo tiver 25 MB, como seria a divisão?
Abraços.

R

Nel, desculpa pela minha falta de preparo, ainda estou aprendendo.

Mas prometo que mandarei configurado da próxima vez.

Bem, com relação ao meu programa, pode ser configuravél.

Segue então o programa formatado.

Abraços

Rita

import java.io.*;  

public class ProcessadorTexto  {  

   public static void main (String [] args) throws Exception{  
	   ProcessadorTexto proc = new ProcessadorTexto();
	   
	   String resultado = proc.loadFile(); 
	   
	   String[] vetor = resultado.split("\n");
	   
	   QuickSort.sort(vetor);
	   QuickSort.sort(vetor);
	   
	   System.out.println("Exibir ordenados:");
	   proc.saveFile(vetor); 
	   
   }  
     
   public void saveFile(String vetor[]) throws IOException{
	   FileWriter fileWriter = new FileWriter("lista_ordenada.txt");
	   PrintWriter writer = new PrintWriter(fileWriter);
	   for (int j = 0; j < vetor.length; j++){
		   String elemento = vetor[j];
		   writer.println(elemento);
		   System.out.println(elemento);
	   }
	   writer.close();
   }
   
      public String loadFile() throws IOException{
	   StringBuffer buffer = new StringBuffer();
	   FileInputStream stream = new FileInputStream("lista_desordenada.txt");
	     InputStreamReader streamReader = new InputStreamReader(stream);
	     BufferedReader reader = new BufferedReader(streamReader); 
	        
	     // Neste while eh lido o arquivo linha a linha  
	     String line = null;  
	     while( (line=reader.readLine() ) != null ) {  
	   	     buffer.append(line+"\n");
	     //System.out.println(line);
	     }   
	   
	    // fechando os objetos de io:  
	    reader.close();   
	    streamReader.close();   
	    stream.close();
		return buffer.toString();     
   }
   
}
Criado 25 de agosto de 2010
Ultima resposta 26 de ago. de 2010
Respostas 5
Participantes 3