Opinião Classe File[RESOLVIDO]

0 respostas
juliocesarsrosa

Ola galera !!! fiz dois algoritimos que tem a mesma função sei que os dois funcionam pois fiz em uma classe de testes… porem quero saber
se em uma aplicação stand alone os dois funcionarao ou seja tantao faz um ou outro…

seguem os dois códigos

Primeiro código:

Imprime informações sobre todos os arquivos que estiverem no diretorio source

package com.eversystems.il.tester.jms;

import java.io.File;
import java.util.Date;

public class FT00Teste {

	public static void main(String[] args) {

		String diretorio = "C:\\source";
		String codigoCliente = "00123";

		File file = new File(diretorio);
		File afile[] = file.listFiles();
		int i = 0;
		for (int j = afile.length; i < j; i++) {
			File arquivos = afile[i];


				System.out.println("\n"+arquivos.getName());
				System.out.println("\n"+new Long(arquivos.length()).toString());
				System.out.println("\n"+new Date(arquivos.lastModified()));
				System.out.println("\n"+arquivos.getTotalSpace());

			

		}

	}

}

Segundo código:

Imprime informações sobre todos os arquivos que estiverem no diretorio source:

package com.eversystems.il.tester.jms;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;

import org.apache.log4j.Logger;

import com.eversystems.il.handle.core.HandleException;
import com.eversystems.il.handle.transaction.FT00MessageHandler;
import com.eversystems.il.main.IntegLayerException;
import com.eversystems.il.util.IntegLayerErrorCodes;
import com.eversystems.il.util.LocalFileUtil;
import com.ibm.disthub2.spi.FileUtil;

public class FT00 {
	
	private static final Logger log	= Logger.getLogger(FT00MessageHandler.class);

	public static void main(String[] args) throws HandleException {

		String diretorio = "C:\\source";
		String codigoCliente = "00123";


		try {
			LocalFileUtil fileUtil = new LocalFileUtil(diretorio);
			List<File> files = fileUtil.getFiles("");

			byte[] buf = new byte[1024];
			int len = 0;
			

			for (File file: files) {
				
				InputStream in = null;
				ByteArrayOutputStream out = null;
				
				try {
					in = new FileInputStream(file);
					out = new ByteArrayOutputStream(); 
					
					while ((len = in.read(buf)) > 0){
						out.write(buf, 0, len);
					}
					out.flush();
					
					
							
							System.out.println("\n"+file.getName());
							System.out.println("\n"+new Long(file.length()).toString());
							System.out.println("\n"+new Date(file.lastModified()));
							System.out.println("\n"+file.getTotalSpace());


				     
				} catch (Exception e) {
					log.warn("Fail to include file " + file.getName() + " in responseVO", e);
				} finally {
					try {
						if (in != null) {
							in.close();
						}
						if (out != null) {
							out.close();
						}
					} catch (IOException e) {
						log.warn("Fail to close streams for file " + file.getName(), e);
					}
				}
			}
		} catch (IntegLayerException e) {
			throw new HandleException(IntegLayerErrorCodes.ERROR_BUILDING_RESPONSE, e);
		}

	}

}

O segundo utiliza a classe inputStream e ByteArrayOutputStream porem acho que tem o mesmo efeito do primeiro ainda?? pelomenos
tentando os dados vieram assim como o promeiro… os dois códigos terão o mesmo efeito ??

obrigado galera !

Criado 26 de maio de 2011
Respostas 0
Participantes 1