Ler um arquivo em um diretório e abrir o arquivo

27 respostas
T

Bom pessoal tenho que fazer o seguinte

Preciso ler um determinado diretório e abrir o documento que encontrar dentro dele. O que fiz até agora foi percorer os diretórios mais não consigo abriri os arquivos. Será que alguém pode me ajudar.

Classe de Leitura

import java.io.File;  
   
 public class Leitor {  
      
    //encontro o arquivo e sua árvore através do diretório que devo passar  
    //abaixo  
    public static void main(String[] args){  
       carreagaDiretorios(Messages.getString("Leitor.0")); //$NON-NLS-1$  
    }  
      
    //imprimo o nome do diretório atual  
    private static void carreagaDiretorios(String nomeDiretorio){  
       System.out.println(nomeDiretorio);  
      
    //criar um objeto para o deretório atual  
    File dirAtual = new File(nomeDiretorio);  
    //criar um Array para os arquivos que estão dentro do diretório  
    File[] arquivosInternos = dirAtual.listFiles();  
      
    //Se encontrar algum arquivo dentro do diretótio ele percorre  
    //tudo o que foi encontrado com o loop(for).  
    if(arquivosInternos != null){  
       for(int i = 0; i< arquivosInternos.length; i++){  
            
          if(arquivosInternos[i].exists() && arquivosInternos[i].isDirectory())  
             carreagaDiretorios(arquivosInternos[i].getPath());  
       }  
    }  
   }  
}

O diretório raiz que eu desejo percorrer eu passo através de um messages.properties e tenho a classe Messages

Classe Messages

[code]
import java.util.MissingResourceException;
import java.util.ResourceBundle;

public class Messages {
private static final String BUNDLE_NAME = "cbd.gpa.leitorArquivo.messages"; //$NON-NLS-1$

private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
.getBundle(BUNDLE_NAME);

private Messages() {
}

public static String getString(String key) {
try {
return RESOURCE_BUNDLE.getString(key);
} catch (MissingResourceException e) {
return '!' + key + '!';
}
}
}
[code]

Se alguém puder me ajudar agradeço.

27 Respostas

Diego_Marinho

Olá,

dá uma olhada neste link:

http://www.guj.com.br/article.show.logic?id=13

Espero ter ajudado.

[]'s.

discorpio

Boa tarde.

Que tal tentar assim:

.....
     if(arquivosInternos != null){
         for(int i = 0; i&lt; arquivosInternos.length; i++){
            if(arquivosInternos[i].exists() && arquivosInternos[i].isDirectory()){
               carreagaDiretorios(arquivosInternos[i].getPath());
            } else if(arquivosInternos[i].exists() && arquivosInternos[i].isFile()){
                Desktop desktop = Desktop.getDesktop();
                try {
                     desktop.open(arquivosInternos[i]);
                } catch (IOException ex) {
                     System.out.println(ex.getMessage());
                }
            }
         }
      }
      ....

O Sistema irá abrir os arquivos associando-os aos seus respectivos sofwares, como ".txt", ".doc", "*.pdf", a menos é claro, se voce tentar abrir um arquivo binário, neste caso, vai causar exceção, por isto ser necessário o tratamento do erro.

S
O que fiz até agora foi percorer os diretórios mais não consigo abriri os arquivos.

eu rodei o seu código, mas não entendi o que você quis dizer de abrir os arquivos

aqui você lista todos os arquivos do diretório
File[] arquivosInternos = dirAtual.listFiles();
então você cria um for e recursivamente vai entrando nos diretórios
for (int i = 0; i < arquivosInternos.length; i++) {

				if (arquivosInternos[i].exists()
						&& arquivosInternos[i].isDirectory())
					carreagaDiretorios(arquivosInternos[i].getPath());
			}

esse código que você passou eu executei e está ok, como você está tentando abrir arquivo??
que tipo de arquivo seria??

T

Bom esqueci de mencionar algumas informações me desculpem, essa classe vai rodar dentro de ambiente linux e não tenho desktop nesse caso, preciso varrer um diretório e encontrar todos os arquivos .log desde diretório e listar a data de início e a data final (ou hora início hora final) esta informação vou jogar para um banco e ela pode ser retornada do tipo texto mesmo.

S

veja se ti ajuda

// imprimo o nome do diretório atual
	private static void carreagaDiretorios(String nomeDiretorio) {

		//System.out.println(nomeDiretorio);

		// criar um objeto para o deretório atual
		File dirAtual = new File(nomeDiretorio);
		// criar um Array para os arquivos que estão dentro do diretório
		File[] arquivosInternos = dirAtual.listFiles();

		// Se encontrar algum arquivo dentro do diretótio ele percorre
		// tudo o que foi encontrado com o loop(for).
		if (arquivosInternos != null) {
			for (int i = 0; i < arquivosInternos.length; i++) {

				if (arquivosInternos[i].exists()
						&& arquivosInternos[i].isDirectory()) {
					carreagaDiretorios(arquivosInternos[i].getPath());
				} else if (arquivosInternos[i].exists()
						&& arquivosInternos[i].isFile()) {
					verificaArquivoLog(arquivosInternos[i]);
				}
			}
		}
	}
	
	//verifico a extensão do arquivo
	private static void verificaArquivoLog(File f){
		String extensaoArray[] = f.getPath().split("\\.");
		if (extensaoArray.length>0) {
			if ("log".equals(extensaoArray[extensaoArray.length-1])) {
				System.out.println(f);
			}
		}
	}
T

é exatamente isso silvasouza…agora só me falta conseguir pegar a hora inicio e a hora final de execução destes arquivos.

Valeu muito obrigado.!!!

T

bom galera preciso de mais uma ajudinha

Estou conseguindo listar os arquivos, mais agora tenho que abrir os asquivos pegar a data de execução a hora inicio e a hora fim desses arquivos e mostrar na tela e não estou conseguindo fazer isso…

Sera que podem me ajudar…

UMC

trydugmn:
bom galera preciso de mais uma ajudinha

Estou conseguindo listar os arquivos, mais agora tenho que abrir os asquivos pegar a data de execução a hora inicio e a hora fim desses arquivos e mostrar na tela e não estou conseguindo fazer isso…

Sera que podem me ajudar…


seria data de modificação!?

ou quando abrir o arquivo gravar a data que foi aberto etc…!?

vlw

T

é a data que o arquivo foi executado.

Este arquivo é .log ele é executado em um banco de dados e ficar armazenado em um determinado diretório tenho que varrer esse diretório encontrar esses arquivos .log abrir eles e pegar a data de execução a hora que iniciou a execução e a hora que terminou a execução, não preciso calcular o tempo de duração. Essas informações tenho que apresentar na tela em formato texto mesmo e depois joga-las para outro banco.
Até agora consigo varrer os arquivos mais não estou conseguindo abrir e pegar as informações que preciso.

Se puder ajudar…!! fico muito agradecido…!!!

UMC

trydugmn:
é a data que o arquivo foi executado.

Este arquivo é .log ele é executado em um banco de dados e ficar armazenado em um determinado diretório tenho que varrer esse diretório encontrar esses arquivos .log abrir eles e pegar a data de execução a hora que iniciou a execução e a hora que terminou a execução, não preciso calcular o tempo de duração. Essas informações tenho que apresentar na tela em formato texto mesmo e depois joga-las para outro banco.
Até agora consigo varrer os arquivos mais não estou conseguindo abrir e pegar as informações que preciso.

Se puder ajudar…!! fico muito agradecido…!!!


Bom para isso eu faria o seguinte estrutura de LOG:
Programa -> Foi aberto em data 01-01-0001
.
.ficaria o que foi feito de mais importante.
.
Programa -> Foi fechado em data 02-01-0001

Bom, o seu problema é em abrir esse arquivo e lê o que é preciso! isso mesmo?!?!
Tem que ver como você salvar esse dados no LOG tipo a estrutura usada!
Vendo isso é só pegar a estrutura usada e fazer o inverso!

Posso tentar ajudar sim mais você terá que apresentar a estrutura usada para salvar!

vlw
vlw

T

bom essa é a estrutura do .log

INICIO DO SCRIPT: /retail/prd/shells/Wrappers/Gpa_ExecLoMaByMas.4105.MFPGPA.20100427.17.26.19.0001.ksh.
DATA EXECUÇÃO: 20100427… DATA DO MOVIMENTO RPAS_TODAY: 20100427. H: 17.26.20

DATA EXECUTADA: RPAS_TODAY=20100427 H: 17.26.20

Executando:
loadmeasure -d /mfp_prd_0001/oradata/domains/MFPGPA -measure swpteraeopu,swpteraeopc -loglevel all.
RPAS_TODAY=20100427 H: 17.26.20

  • loadmeasure -d /mfp_prd_0001/oradata/domains/MFPGPA -measure swpteraeopu,swpteraeopc -loglevel all
    <D 2010Apr27 17:26:20.167>
    <D 2010Apr27 17:26:20.167> UtilityBase
    <D 2010Apr27 17:26:20.167> Program loadmeasure arguments:
    <D 2010Apr27 17:26:20.167> arg[1]=’-d’
    <D 2010Apr27 17:26:20.167> arg[2]=’/mfp_prd_0001/oradata/domains/MFPGPA’
    <D 2010Apr27 17:26:20.167> arg[3]=’-measure’
    <D 2010Apr27 17:26:20.167> arg[4]=‘swpteraeopu,swpteraeopc’
    <D 2010Apr27 17:26:20.167> arg[5]=’-loglevel’
    <D 2010Apr27 17:26:20.167> arg[6]=‘all’
    <D 2010Apr27 17:26:20.167>
    <D 2010Apr27 17:26:20.167>
    <I 2010Apr27 17:26:20.168> File lock polling interval set to: 500
    <D 2010Apr27 17:26:20.168> Dimension cache now using 320 bytes of memory.
    <D 2010Apr27 17:26:20.169> Dimension cache now using 1024 bytes of memory.
    <D 2010Apr27 17:26:20.169> Dimension cache now using 1088 bytes of memory.
    <D 2010Apr27 17:26:20.169> Dimension cache now using 1184 bytes of memory.
    <D 2010Apr27 17:26:20.169> Dimension cache now using 44864 bytes of memory.
    <D 2010Apr27 17:26:20.170> Dimension cache now using 45984 bytes of memory.
    <D 2010Apr27 17:26:20.170> Dimension cache now using 46112 bytes of memory.
    <D 2010Apr27 17:26:20.170> Dimension cache now using 46176 bytes of memory.
    <D 2010Apr27 17:26:20.170> Dimension cache now using 46368 bytes of memory.
    <D 2010Apr27 17:26:20.171> Dimension cache now using 0 bytes of memory.
    <D 2010Apr27 17:26:20.171> Dimension cache now using 96 bytes of memory.
    <D 2010Apr27 17:26:20.171> Dimension cache now using 43776 bytes of memory.
    <D 2010Apr27 17:26:20.172> Dimension cache now using 43872 bytes of memory.
    <D 2010Apr27 17:26:20.172> Dimension cache now using 45088 bytes of memory.
    <D 2010Apr27 17:26:20.172> Dimension cache now using 45664 bytes of memory.
    <D 2010Apr27 17:26:20.172> Dimension cache now using 46112 bytes of memory.
    <D 2010Apr27 17:26:20.172> Dimension cache now using 46176 bytes of memory.
    <D 2010Apr27 17:26:20.174> Dimension cache now using 47296 bytes of memory.
    <D 2010Apr27 17:26:20.177> Dimension cache now using 47648 bytes of memory.
    <D 2010Apr27 17:26:20.178> Dimension cache now using 47712 bytes of memory.
    <D 2010Apr27 17:26:20.178> Dimension cache now using 47840 bytes of memory.
    <D 2010Apr27 17:26:20.190> Dimension cache now using 0 bytes of memory.
    <D 2010Apr27 17:26:20.190> Dimension cache now using 96 bytes of memory.
    <D 2010Apr27 17:26:20.190> Dimension cache now using 43776 bytes of memory.
    <D 2010Apr27 17:26:20.190> Dimension cache now using 0 bytes of memory.
    <D 2010Apr27 17:26:20.193>
    <D 2010Apr27 17:26:20.193> Starting master log for loadmeasures
    <D 2010Apr27 17:26:20.193>
    <D 2010Apr27 17:26:20.193>
    <D 2010Apr27 17:26:20.193>
    <D 2010Apr27 17:26:20.193> Doing preprocessing
    <D 2010Apr27 17:26:20.193>
    <I 2010Apr27 17:26:20.193> No prescrub process.
    <N 2010Apr27 17:26:20.194>
    <N 2010Apr27 17:26:20.194> Now executing loadmeasure in domain ‘/mfp_prd_0001/oradata/domains/MFPGPA’.
    <D 2010Apr27 17:26:20.194> Dimension cache now using 96 bytes of memory.
    <D 2010Apr27 17:26:20.194> Dimension cache now using 43776 bytes of memory.
    <D 2010Apr27 17:26:20.195> Dimension cache now using 44352 bytes of memory.
    <D 2010Apr27 17:26:20.195> Dimension cache now using 45568 bytes of memory.
    <D 2010Apr27 17:26:20.195> Dimension cache now using 45824 bytes of memory.
    <D 2010Apr27 17:26:20.195> Dimension cache now using 54208 bytes of memory.
    <D 2010Apr27 17:26:20.195> Dimension cache now using 54624 bytes of memory.
    <D 2010Apr27 17:26:20.195> Dimension cache now using 95040 bytes of memory.
    <D 2010Apr27 17:26:20.196> Dimension cache now using 95104 bytes of memory.
    <D 2010Apr27 17:26:20.196> Dimension cache now using 95168 bytes of memory.
    <D 2010Apr27 17:26:20.199> Loading measure ‘swpteraeopu’
    <D 2010Apr27 17:26:20.199> getMeasInputFiles();
    <D 2010Apr27 17:26:20.199> Measure: swpteraeopu
    <D 2010Apr27 17:26:20.199> InputPath: /mfp_prd_0001/oradata/domains/MFPGPA/input/tera_eop
    <D 2010Apr27 17:26:20.199>
    <I 2010Apr27 17:26:20.200> MeasureLoader::loadDataFromFile();
    <I 2010Apr27 17:26:20.200> Loading ‘.rpl’ file ‘/mfp_prd_0001/oradata/domains/MFPGPA/input/tera_eop.rpl’.
    <D 2010Apr27 17:26:20.201> Dimension cache now using 95232 bytes of memory.
    <D 2010Apr27 17:26:20.201> Dimension cache now using 96096 bytes of memory.
    <D 2010Apr27 17:26:20.201> Dimension cache now using 96160 bytes of memory.
    <D 2010Apr27 17:26:20.201> Dimension cache now using 96256 bytes of memory.
    <I 2010Apr27 17:26:20.201> ArrayLoader::run() Loading file: /mfp_prd_0001/oradata/domains/MFPGPA/input/tera_eop.rpl
    <I 2010Apr27 17:26:20.201> Profiling is not enabled

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

TSI:0 0.000101 seconds for PNIMap::readPNIMap

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

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

TSI:0 0.000102 seconds for PNIMap::readPNIMap

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

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

TSI:0 0.000103 seconds for PNIMap::readPNIMap

=========================================================
 
 Position name [CLSS1002_2854] for dimension [CLSS] not found at lines:  799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912
 Position name [CLSS1905_2776] for dimension [CLSS] not found at lines:  18590, 18591, 18592, 18593, 18594, 18595, 18596, 18597, 18598, 18599, 18600, 18601, 18602, 18603, 18604, 18605, 18606, 18607, 18608, 18609, 18610, 18611, 18612, 18613, 18614, 18615, 18616, 18617, 18618, 18619, 18620, 18621, 18622, 18623, 18624, 18625, 18626, 18627, 18628, 18629, 18630, 18631, 18632, 18633, 18634, 18635, 18636, 18637, 18638, 18639, 18640, 18641, 18642, 18643, 18644, 18645, 18646, 18647, 18648, 18649, 18650, 18651, 18652, 18653, 18654, 18655, 18656, 18657, 18658, 18659, 18660, 18661, 18662, 18663, 18664, 18665, 18666, 18667, 18668, 18669, 18670, 18671, 18672, 18673, 18674, 18675, 18676, 18677, 18678, 18679, 18680, 18681, 18682, 18683, 18684, 18685, 18686, 18687, 18688
 Position name [CLSS2404_1575] for dimension [CLSS] not found at lines:  31457, 31458, 31459, 31460, 31461, 31462, 31463, 31464, 31465, 31466, 31467, 31468, 31469, 31470, 31471, 31472, 31473, 31474, 31475, 31476, 31477, 31478, 31479, 31480, 31481, 31482, 31483, 31484, 31485, 31486, 31487, 31488, 31489, 31490, 31491, 31492, 31493, 31494, 31495, 31496, 31497, 31498, 31499, 31500, 31501, 31502, 31503, 31504, 31505, 31506, 31507, 31508, 31509, 31510, 31511, 31512, 31513, 31514, 31515, 31516, 31517, 31518, 31519, 31520, 31521, 31522, 31523, 31524, 31525, 31526, 31527, 31528, 31529, 31530, 31531, 31532, 31533, 31534, 31535, 31536, 31537, 31538, 31539, 31540, 31541, 31542, 31543, 31544, 31545, 31546, 31547, 31548, 31549, 31550, 31551, 31552, 31553, 31554, 31555, 31556, 31557, 31558, 31559, 31560, 31561, 31562, 31563, 31564, 31565, 31566, 31567, 31568, 31569, 31570
 Position name [CLSS303_878] for dimension [CLSS] not found at lines:  31571, 31572, 31573, 31574, 31575, 31576, 31577, 31578, 31579, 31580, 31581, 31582, 31583, 31584, 31585, 31586, 31587, 31588, 31589, 31590, 31591, 31592, 31593, 31594, 31595, 31596, 31597, 31598, 31599, 31600, 31601, 31602, 31603, 31604, 31605, 31606, 31607, 31608, 31609, 31610, 31611, 31612, 31613, 31614, 31615, 31616, 31617, 31618, 31619, 31620, 31621, 31622, 31623, 31624, 31625, 31626, 31627, 31628, 31629, 31630, 31631, 31632, 31633, 31634, 31635, 31636, 31637, 31638, 31639, 31640, 31641, 31642, 31643, 31644, 31645, 31646, 31647, 31648, 31649, 31650, 31651, 31652, 31653, 31654, 31655, 31656, 31657, 31658, 31659, 31660, 31661, 31662, 31663, 31664, 31665, 31666, 31667, 31668, 31669, 31670, 31671, 31672, 31673, 31674, 31675, 31676, 31677, 31678, 31679, 31680, 31681, 31682, 31683, 31684
 Position name [CLSS306_738] for dimension [CLSS] not found at lines:  31685, 31686, 31687, 31688, 31689, 31690, 31691, 31692, 31693, 31694, 31695, 31696, 31697, 31698, 31699, 31700, 31701, 31702, 31703, 31704, 31705, 31706, 31707, 31708, 31709, 31710, 31711, 31712, 31713, 31714, 31715, 31716, 31717, 31718, 31719, 31720, 31721, 31722, 31723, 31724, 31725, 31726, 31727, 31728, 31729, 31730, 31731, 31732, 31733, 31734, 31735, 31736, 31737, 31738, 31739, 31740, 31741, 31742, 31743, 31744, 31745, 31746, 31747, 31748, 31749, 31750, 31751, 31752, 31753, 31754, 31755, 31756, 31757, 31758, 31759, 31760, 31761, 31762, 31763, 31764, 31765, 31766, 31767, 31768, 31769, 31770, 31771, 31772, 31773, 31774, 31775, 31776, 31777, 31778, 31779, 31780, 31781, 31782, 31783, 31784, 31785, 31786, 31787, 31788, 31789, 31790, 31791, 31792, 31793, 31794, 31795, 31796, 31797, 31798
 Position name [CLSS308_899] for dimension [CLSS] not found at lines:  31799, 31800, 31801, 31802, 31803, 31804, 31805, 31806, 31807, 31808, 31809, 31810, 31811, 31812, 31813, 31814, 31815, 31816, 31817, 31818, 31819, 31820, 31821, 31822, 31823, 31824, 31825, 31826, 31827, 31828
 Position name [CLSS6102_3004] for dimension [CLSS] not found at lines:  49936, 49937, 49938, 49939, 49940, 49941, 49942, 49943, 49944, 49945, 49946, 49947, 49948, 49949, 49950, 49951, 49952, 49953, 49954, 49955, 49956, 49957, 49958, 49959, 49960, 49961, 49962, 49963, 49964, 49965, 49966, 49967, 49968, 49969, 49970, 49971, 49972, 49973, 49974, 49975, 49976, 49977, 49978, 49979, 49980, 49981, 49982, 49983, 49984, 49985, 49986, 49987, 49988, 49989, 49990, 49991, 49992, 49993, 49994, 49995, 49996, 49997, 49998, 49999, 50000, 50001, 50002, 50003, 50004, 50005, 50006, 50007, 50008, 50009, 50010, 50011, 50012, 50013, 50014, 50015, 50016, 50017, 50018, 50019, 50020, 50021, 50022, 50023, 50024, 50025, 50026, 50027, 50028, 50029, 50030, 50031, 50032, 50033, 50034, 50035, 50036, 50037, 50038, 50039, 50040, 50041, 50042, 50043, 50044, 50045, 50046, 50047, 50048, 50049
 Position name [CLSS8104_591] for dimension [CLSS] not found at lines:  87278, 87279, 87280, 87281, 87282, 87283, 87284, 87285, 87286, 87287, 87288, 87289, 87290, 87291, 87292, 87293, 87294, 87295, 87296, 87297, 87298, 87299, 87300, 87301, 87302, 87303, 87304, 87305, 87306, 87307, 87308, 87309, 87310, 87311, 87312, 87313, 87314, 87315, 87316, 87317, 87318, 87319, 87320, 87321, 87322, 87323, 87324, 87325, 87326, 87327, 87328, 87329, 87330, 87331, 87332, 87333, 87334, 87335, 87336, 87337, 87338, 87339, 87340, 87341, 87342, 87343, 87344, 87345, 87346, 87347, 87348, 87349, 87350, 87351, 87352, 87353, 87354, 87355, 87356, 87357, 87358, 87359, 87360, 87361, 87362, 87363, 87364, 87365, 87366, 87367, 87368, 87369, 87370, 87371, 87372, 87373, 87374, 87375, 87376, 87377, 87378, 87379, 87380, 87381, 87382, 87383, 87384, 87385, 87386, 87387, 87388, 87389, 87390, 87391
 Position name [CLSS9901_2218] for dimension [CLSS] not found at lines:  139442, 139443, 139444, 139445, 139446, 139447, 139448, 139449, 139450, 139451, 139452, 139453, 139454, 139455, 139456, 139457, 139458, 139459, 139460, 139461, 139462, 139463, 139464, 139465, 139466, 139467, 139468, 139469, 139470, 139471, 139472, 139473, 139474, 139475, 139476, 139477, 139478, 139479, 139480, 139481, 139482, 139483, 139484, 139485, 139486, 139487, 139488, 139489, 139490, 139491, 139492, 139493, 139494, 139495, 139496, 139497, 139498, 139499, 139500, 139501, 139502, 139503, 139504, 139505, 139506, 139507, 139508, 139509, 139510, 139511, 139512, 139513, 139514, 139515, 139516, 139517, 139518, 139519, 139520, 139521, 139522, 139523, 139524, 139525, 139526, 139527, 139528, 139529, 139530, 139531, 139532, 139533, 139534, 139535, 139536, 139537, 139538, 139539, 139540, 139541, 139542, 139543, 139544, 139545, 139546, 139547, 139548, 139549, 139550, 139551, 139552, 139553, 139554, 139555
 loaded 1 files
   for measure: 'swpteraeopu'
   using path:  '/mfp_prd_0001/oradata/domains/MFPGPA/input'
<i> loadmeasure starting to apply loads...
<i> No unapplied loads to apply!
<i> No purge-age for swpteraeopu. Measure not purged.
 Loading measure 'swpteraeopc' 
 getMeasInputFiles();
   Measure:   swpteraeopc
   InputPath: /mfp_prd_0001/oradata/domains/MFPGPA/input/tera_eop
 
<i> MeasureLoader::loadDataFromFile();
<i>   Loading '.rpl' file '/mfp_prd_0001/oradata/domains/MFPGPA/input/tera_eop.rpl'.
<i> ArrayLoader::run() Loading file: /mfp_prd_0001/oradata/domains/MFPGPA/input/tera_eop.rpl
</i></i></i></i></i></i>

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

TSI:0 0.000097 seconds for PNIMap::readPNIMap

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

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

TSI:0 0.000106 seconds for PNIMap::readPNIMap

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

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

TSI:0 0.000101 seconds for PNIMap::readPNIMap

========================================================= Position name [CLSS1002_2854] for dimension [CLSS] not found at lines: 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912 Position name [CLSS1905_2776] for dimension [CLSS] not found at lines: 18590, 18591, 18592, 18593, 18594, 18595, 18596, 18597, 18598, 18599, 18600, 18601, 18602, 18603, 18604, 18605, 18606, 18607, 18608, 18609, 18610, 18611, 18612, 18613, 18614, 18615, 18616, 18617, 18618, 18619, 18620, 18621, 18622, 18623, 18624, 18625, 18626, 18627, 18628, 18629, 18630, 18631, 18632, 18633, 18634, 18635, 18636, 18637, 18638, 18639, 18640, 18641, 18642, 18643, 18644, 18645, 18646, 18647, 18648, 18649, 18650, 18651, 18652, 18653, 18654, 18655, 18656, 18657, 18658, 18659, 18660, 18661, 18662, 18663, 18664, 18665, 18666, 18667, 18668, 18669, 18670, 18671, 18672, 18673, 18674, 18675, 18676, 18677, 18678, 18679, 18680, 18681, 18682, 18683, 18684, 18685, 18686, 18687, 18688 Position name [CLSS2404_1575] for dimension [CLSS] not found at lines: 31457, 31458, 31459, 31460, 31461, 31462, 31463, 31464, 31465, 31466, 31467, 31468, 31469, 31470, 31471, 31472, 31473, 31474, 31475, 31476, 31477, 31478, 31479, 31480, 31481, 31482, 31483, 31484, 31485, 31486, 31487, 31488, 31489, 31490, 31491, 31492, 31493, 31494, 31495, 31496, 31497, 31498, 31499, 31500, 31501, 31502, 31503, 31504, 31505, 31506, 31507, 31508, 31509, 31510, 31511, 31512, 31513, 31514, 31515, 31516, 31517, 31518, 31519, 31520, 31521, 31522, 31523, 31524, 31525, 31526, 31527, 31528, 31529, 31530, 31531, 31532, 31533, 31534, 31535, 31536, 31537, 31538, 31539, 31540, 31541, 31542, 31543, 31544, 31545, 31546, 31547, 31548, 31549, 31550, 31551, 31552, 31553, 31554, 31555, 31556, 31557, 31558, 31559, 31560, 31561, 31562, 31563, 31564, 31565, 31566, 31567, 31568, 31569, 31570 Position name [CLSS303_878] for dimension [CLSS] not found at lines: 31571, 31572, 31573, 31574, 31575, 31576, 31577, 31578, 31579, 31580, 31581, 31582, 31583, 31584, 31585, 31586, 31587, 31588, 31589, 31590, 31591, 31592, 31593, 31594, 31595, 31596, 31597, 31598, 31599, 31600, 31601, 31602, 31603, 31604, 31605, 31606, 31607, 31608, 31609, 31610, 31611, 31612, 31613, 31614, 31615, 31616, 31617, 31618, 31619, 31620, 31621, 31622, 31623, 31624, 31625, 31626, 31627, 31628, 31629, 31630, 31631, 31632, 31633, 31634, 31635, 31636, 31637, 31638, 31639, 31640, 31641, 31642, 31643, 31644, 31645, 31646, 31647, 31648, 31649, 31650, 31651, 31652, 31653, 31654, 31655, 31656, 31657, 31658, 31659, 31660, 31661, 31662, 31663, 31664, 31665, 31666, 31667, 31668, 31669, 31670, 31671, 31672, 31673, 31674, 31675, 31676, 31677, 31678, 31679, 31680, 31681, 31682, 31683, 31684 Position name [CLSS306_738] for dimension [CLSS] not found at lines: 31685, 31686, 31687, 31688, 31689, 31690, 31691, 31692, 31693, 31694, 31695, 31696, 31697, 31698, 31699, 31700, 31701, 31702, 31703, 31704, 31705, 31706, 31707, 31708, 31709, 31710, 31711, 31712, 31713, 31714, 31715, 31716, 31717, 31718, 31719, 31720, 31721, 31722, 31723, 31724, 31725, 31726, 31727, 31728, 31729, 31730, 31731, 31732, 31733, 31734, 31735, 31736, 31737, 31738, 31739, 31740, 31741, 31742, 31743, 31744, 31745, 31746, 31747, 31748, 31749, 31750, 31751, 31752, 31753, 31754, 31755, 31756, 31757, 31758, 31759, 31760, 31761, 31762, 31763, 31764, 31765, 31766, 31767, 31768, 31769, 31770, 31771, 31772, 31773, 31774, 31775, 31776, 31777, 31778, 31779, 31780, 31781, 31782, 31783, 31784, 31785, 31786, 31787, 31788, 31789, 31790, 31791, 31792, 31793, 31794, 31795, 31796, 31797, 31798 Position name [CLSS308_899] for dimension [CLSS] not found at lines: 31799, 31800, 31801, 31802, 31803, 31804, 31805, 31806, 31807, 31808, 31809, 31810, 31811, 31812, 31813, 31814, 31815, 31816, 31817, 31818, 31819, 31820, 31821, 31822, 31823, 31824, 31825, 31826, 31827, 31828 Position name [CLSS6102_3004] for dimension [CLSS] not found at lines: 49936, 49937, 49938, 49939, 49940, 49941, 49942, 49943, 49944, 49945, 49946, 49947, 49948, 49949, 49950, 49951, 49952, 49953, 49954, 49955, 49956, 49957, 49958, 49959, 49960, 49961, 49962, 49963, 49964, 49965, 49966, 49967, 49968, 49969, 49970, 49971, 49972, 49973, 49974, 49975, 49976, 49977, 49978, 49979, 49980, 49981, 49982, 49983, 49984, 49985, 49986, 49987, 49988, 49989, 49990, 49991, 49992, 49993, 49994, 49995, 49996, 49997, 49998, 49999, 50000, 50001, 50002, 50003, 50004, 50005, 50006, 50007, 50008, 50009, 50010, 50011, 50012, 50013, 50014, 50015, 50016, 50017, 50018, 50019, 50020, 50021, 50022, 50023, 50024, 50025, 50026, 50027, 50028, 50029, 50030, 50031, 50032, 50033, 50034, 50035, 50036, 50037, 50038, 50039, 50040, 50041, 50042, 50043, 50044, 50045, 50046, 50047, 50048, 50049 Position name [CLSS8104_591] for dimension [CLSS] not found at lines: 87278, 87279, 87280, 87281, 87282, 87283, 87284, 87285, 87286, 87287, 87288, 87289, 87290, 87291, 87292, 87293, 87294, 87295, 87296, 87297, 87298, 87299, 87300, 87301, 87302, 87303, 87304, 87305, 87306, 87307, 87308, 87309, 87310, 87311, 87312, 87313, 87314, 87315, 87316, 87317, 87318, 87319, 87320, 87321, 87322, 87323, 87324, 87325, 87326, 87327, 87328, 87329, 87330, 87331, 87332, 87333, 87334, 87335, 87336, 87337, 87338, 87339, 87340, 87341, 87342, 87343, 87344, 87345, 87346, 87347, 87348, 87349, 87350, 87351, 87352, 87353, 87354, 87355, 87356, 87357, 87358, 87359, 87360, 87361, 87362, 87363, 87364, 87365, 87366, 87367, 87368, 87369, 87370, 87371, 87372, 87373, 87374, 87375, 87376, 87377, 87378, 87379, 87380, 87381, 87382, 87383, 87384, 87385, 87386, 87387, 87388, 87389, 87390, 87391 Position name [CLSS9901_2218] for dimension [CLSS] not found at lines: 139442, 139443, 139444, 139445, 139446, 139447, 139448, 139449, 139450, 139451, 139452, 139453, 139454, 139455, 139456, 139457, 139458, 139459, 139460, 139461, 139462, 139463, 139464, 139465, 139466, 139467, 139468, 139469, 139470, 139471, 139472, 139473, 139474, 139475, 139476, 139477, 139478, 139479, 139480, 139481, 139482, 139483, 139484, 139485, 139486, 139487, 139488, 139489, 139490, 139491, 139492, 139493, 139494, 139495, 139496, 139497, 139498, 139499, 139500, 139501, 139502, 139503, 139504, 139505, 139506, 139507, 139508, 139509, 139510, 139511, 139512, 139513, 139514, 139515, 139516, 139517, 139518, 139519, 139520, 139521, 139522, 139523, 139524, 139525, 139526, 139527, 139528, 139529, 139530, 139531, 139532, 139533, 139534, 139535, 139536, 139537, 139538, 139539, 139540, 139541, 139542, 139543, 139544, 139545, 139546, 139547, 139548, 139549, 139550, 139551, 139552, 139553, 139554, 139555 loaded 1 files for measure: 'swpteraeopc' using path: '/mfp_prd_0001/oradata/domains/MFPGPA/input' loadmeasure starting to apply loads... No unapplied loads to apply! No purge-age for swpteraeopc. Measure not purged. getMeasInputFiles(); Measure: swpteraeopc InputPath: /mfp_prd_0001/oradata/domains/MFPGPA/input/tera_eop Moving input file 'tera_eop.rpl' to 'processed' directory. Dimension cache now using 0 bytes of memory. Doing post processing No postscrub process. loadmeasure completed successfully Remove databases Remove directories Dimension cache used 96256 bytes of memory

O Script:
/retail/prd/sysout/logs/2010/04/27/.4105.MFPGPA.20100427.17.26.19.0001.exe:
TERMINOU COM RC=0. H: 17.26.22

PROGRAMA: /retail/prd/shells/Wrappers/Gpa_ExecLoMaByMas.4105.MFPGPA.20100427.17.26.19.0001.ksh.
FINALIZADO COM SUCESSO CR=0. STATUS: RC=OK.
FIM DO SCRIPT: /retail/prd/shells/Wrappers/Gpa_ExecLoMaByMas.4105.MFPGPA.20100427.17.26.19.0001.ksh.
DATA EXECUÇÃO: 20100427… DATA DO MOVIMENTO RPAS_TODAY: 20100427. H: 17.26.22

UMC

Nossa que estrutura!rsrs

Qual a parte que você precisa!?

é essa ?

DATA EXECUÇÃO: 20100427...... DATA DO MOVIMENTO RPAS_TODAY: 20100427. H: 17.26.22

vlw

T

é todos os .log que eu tenho tem essa estrutura.

Isso a do inicio da estrutura seria a inicial e no momento que ele encontrar denovo no final da estrutura ele identifica que é a final.

vlw

UMC

Então você precisa pegar a 1ª e a ultima linha!

ok?

Vamos formulando aos poucos!

vlw

T

isso eu preciso apresentar na tela da seguite forma…

Nome do arquivo.log data da execução
Hora inicial da execução e hora final da execução

Inicio

DATA EXECUÇÃO: 20100427...... DATA DO MOVIMENTO RPAS_TODAY: 20100427. H: 17.26.20

Final

DATA EXECUÇÃO: 20100427...... DATA DO MOVIMENTO RPAS_TODAY: 20100427. H: 17.26.22

a partir dai armezenar isso em um outro banco.

Eu ja consigo encontrar os arquivos.log no diretorio minha classe esta assim.

Classe Leitor

import java.io.File;

public class Leitor {
	
	//encontro o arquivo e sua árvore através do diretório que devo passar
	//abaixo
	public static void main(String[] args){
		carreagaDiretorios(Messages.getString("Leitor.0")); //$NON-NLS-1$
	}
	
	//imprimo o nome do diretório atual
	private static void carreagaDiretorios(String nomeDiretorio){
		System.out.println(nomeDiretorio);
	
	//criar um objeto para o deretório atual
	File dirAtual = new File(nomeDiretorio);
	//criar um Array para os arquivos que estão dentro do diretório
	File[] arquivosInternos = dirAtual.listFiles();
	
	//Se encontrar algum arquivo dentro do diretótio ele percorre
	//tudo o que foi encontrado com o loop(for).
	if(arquivosInternos != null){
		for(int i = 0; i< arquivosInternos.length; i++){
			
			if(arquivosInternos[i].exists() && arquivosInternos[i].isDirectory()){
				carreagaDiretorios(arquivosInternos[i].getPath());
		}else if(arquivosInternos[i].exists() && arquivosInternos[i].isFile()){
			verificarArquivoLog(arquivosInternos[i]);
				}
		}
	}
	}
	private static void verificarArquivoLog(File f){
		String extensaoArray[] = f.getPath().split("\\.");
		if(extensaoArray.length > 0){
			if("log".equals(extensaoArray[extensaoArray.length-1])){
				System.out.println(f);
				
			}
		}
	}	
	}

a partir dai tenho que abrir e pegar as informações.

vlw…!!!

UMC

Vai um pouco de lógica agora!

tente formular um forma dele lê a 1ª e a ultima linha!
também vou fazer isso;

vlw

T

e Ai UMC bom dia…!!!

Vc conseguiu pensar em alguma coisa sobre a nossa discução de ontem??

Vlw

T

eu fiz o seguinte.

Classe Leitor

import java.io.File;
import java.util.Scanner;

public class Leitor {
	
	//encontro o arquivo e sua árvore através do diretório que devo passar
	//abaixo
	public static void main(String[] args){
		carreagaDiretorios(Messages.getString("Leitor.0")); //$NON-NLS-1$
	}
	
	//imprimo o nome do diretório atual
	private static void carreagaDiretorios(String nomeDiretorio){
		System.out.println(nomeDiretorio);
	
	//criar um objeto para o deretório atual
	File dirAtual = new File(nomeDiretorio);
	//criar um Array para os arquivos que estão dentro do diretório
	File[] arquivosInternos = dirAtual.listFiles();
	
	//Se encontrar algum arquivo dentro do diretótio ele percorre
	//tudo o que foi encontrado com o loop(for).
	if(arquivosInternos != null){
		for(int i = 0; i< arquivosInternos.length; i++){
			
			if(arquivosInternos[i].exists() && arquivosInternos[i].isDirectory()){
				carreagaDiretorios(arquivosInternos[i].getPath());
		}else if(arquivosInternos[i].exists() && arquivosInternos[i].isFile()){
			verificarArquivoLog(arquivosInternos[i]);
				}
		}
	}
	}
	private static void verificarArquivoLog(File f){
		String extensaoArray[] = f.getPath().split("\\.");
		if(extensaoArray.length > 0){
			if("log".equals(extensaoArray[extensaoArray.length-1])){
				System.out.println(f);
			}
			Scanner hi = new Scanner("DATA EXECUTADA: RPAS_TODAY=20100427 H: 17.26.20");
		    hi.useDelimiter("FINALIZADO COM SUCESSO");
		    while (hi.hasNext()) {
		        System.out.println(hi.next());
		    }
		    Scanner hf = new Scanner("TERMINOU COM RC=0. H: 17.26.22");
		    hf.useDelimiter("FINALIZADO COM SUCESSO");
		    while (hf.hasNext()) {
		        System.out.println(hf.next());
		}	
		}

	}
}

ele esta me apresentando o seguinte.

C:\temp\Log_mfp\Gpa_ValConfigFile.4401.MFPGPA.20100427.17.26.02.0001.log
DATA EXECUTADA: RPAS_TODAY=20100427 H: 17.26.20
TERMINOU COM RC=0. H: 17.26.22

você tem alguma idéia pra melhorar isso.???

vlw…

T

o problema é que dessa forma ele sempre me traz os mesmo horarios e não os horarios de cada arquivos.

ele sempre traz horarios iguais aos que eu passe no costrutor…!!!

UMC

Eta confusão!rsrsrsrs
“excuse the lack of attention was absent”

Bom uma pergunta esse arquivo de log vai sempre escrever quando o programa for aberto!
E o tamanho dele vai consumir espaços não??

Tipo o programa foi instalado em 1-01-2000
Hoje é 29-04-2010
imagine o tamanho dele agora!
rs

Então a cada 2 abertura no programa ele apaga o log e cria a atual!
Você já sabe?

vlw

T

Esse arquivo de log é executado no banco se ele for executado mais de uma vez ele sobrescreve o atual.

eu só preciso sabe o seguinte dentro da estrutura do log eu preciso pegar as seguinte informações(linhas).

Essa é a data de execução e o horario inicial da execução

DATA EXECUÇÃO: 20100427...... DATA DO MOVIMENTO RPAS_TODAY: 20100427. H: 17.26.14

e Aqui a hora do termino da execução

TERMINOU COM RC=0. H: 17.26.16

Pareçe simples mais não estou conseguindo pegar essas informações e apresentar na tela…!!!

UMC

Entendi mais só vou indagar dessa vez!rsrsrs

Onde você salvar o data da abertura e do termino do programa já tentou salva-la em outro lugar especifico também!

vlw

T

Vou salva-la dentro de um outro diretório em outro banco de dados, mais ainda não fiz pois quero primeiro conseguir pegar as informações da forma que preciso…!!!

UMC

Ok, só vou terminar um negócio aqui e vou tentar fazer algo parecido!

vlw

T

UMC, cara desculpa to de dando um trabalho imenso né…!!

Mais é que não estou conseguindo mesmo, sou iniciante e não sei como fazer , você conseguiu alguma coisa ei…!!!

Se conseguiu da essa força ai e trabalho de facu…!!!

Valeu…!!!

T

Programa concluido…Obrigado pelas ajudas.!!!

T

vlw

Criado 27 de abril de 2010
Ultima resposta 6 de mai. de 2010
Respostas 27
Participantes 5