Manipular arquivo txt e condições  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Higor_Santiago
Smalltalk

Membro desde: 21/02/2011 21:41:27
Mensagens: 3
Offline

Olá!!!

Sou novo nesse fórum, dei uma pesquisada mas não encontrei exatamente o que estava procurando.
Gostaria de uma ajuda em manipulação de arquivo. É o seguinte:

Meu programa tem que ler um arquivo .txt, onde nesse arquivo é gerado por uma ponto eletrônico. Dados desse arquivo: Nome do funcionário, dia do mês e turno manhã e tarde ( 1 para presença e o para falta).

Nesse formato: <nome do funcionário>;<dia do mês>;<turno da manhã>;<turno da tarde>

Depois gerar um relatório com a relação de funcionários contendo o nome, discriminação dos dias e turnos em que o funcionário faltou, total de turno não trabalhado pelo funcionário e porcentagem de turno trabalhado.

Comecei o código pegando a primeira linha que contem o mês e ano:





package lerarquivo;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class Main {



public static void main(String[] args) throws FileNotFoundException, IOException {

FileInputStream stream = new FileInputStream("C:/Documents and Settings/Higor/Desktop/PPS/ArquivoPonto.txt");
InputStreamReader streamReader = new InputStreamReader(stream);
BufferedReader reader = new BufferedReader(streamReader);
FileWriter fileWriter = new FileWriter("C:/Documents and Settings/Higor/Desktop/PPS/Relatório.txt");
PrintWriter writer = new PrintWriter(fileWriter);
String line = null;
while((line=reader.readLine())!=null) {
writer.println("" + line);
writer.close();
fileWriter.close();
reader.close();
streamReader.close();
stream.close();

}

}


}

Alguém pode me ajudar?
Agradeço!!!

This message was edited 1 time. Last update was at 21/02/2011 22:52:31

ThgVieira
Thread.start()

Membro desde: 25/05/2009 13:26:05
Mensagens: 40
Localização: Campo Grande MS
Offline

AJudar no que? Se for pra separar os dados <nome>;<dia>; utilize os métodos indexOf(String) com o substring(int, int) ou o split(String).
Se as linhas tem o mesmo padrão, penso eu, ser melhor usar o split, exemplo:


Tenta colocar esse pedaço de código no seu código, dentro do while só pra você ver o resultado, depois adapta pra sua necessidade.
Se não é essa a sua necessidade, desculpa o encomodo. Abraços!
Higor_Santiago
Smalltalk

Membro desde: 21/02/2011 21:41:27
Mensagens: 3
Offline

Blz, ajudou muito numa parte do pragrama.
Valeu!!!

Agora é o seguinte:

O programa ta pegando alguns dados do aquivo .txt, agora quero alocar esses valores na memória e em seguida escrever no arquivo txt de saída.

Como posso fazer?
ThgVieira
Thread.start()

Membro desde: 25/05/2009 13:26:05
Mensagens: 40
Localização: Campo Grande MS
Offline

Mas pra que usar um programa que lê de um arquivo e coloca em outro? Sendo que os dois tem a mesma extensão.
Agora se for só pra escrever, você simplismente lê e ja escreve em outro arquivo, com o PrintWriter. Explica mais seu problema que posso te ajudar mais, algo como o formato certo do arquivo que vai ser lido, e do arquivo que vai ser escrito, mas repito esta sem sentido isso, melhor gravar em um banco de dados!

To aí pra ajudar, abraço!
Higor_Santiago
Smalltalk

Membro desde: 21/02/2011 21:41:27
Mensagens: 3
Offline

Cara, é um pouco grande, se vc puder passar seu email eu mando o arquivo p vc dá uma olhada.
Pode ser?
ThgVieira
Thread.start()

Membro desde: 25/05/2009 13:26:05
Mensagens: 40
Localização: Campo Grande MS
Offline

thg.vieira12@gmail.com
Mackrophus
JavaBaby
[Avatar]

Membro desde: 28/03/2008 09:27:34
Mensagens: 84
Offline

cara, voce ta querendo dividir o conteudo do site por funcionario?

Thomas Edison disse certa vez... Talento é 1% inspiração e 99% transpiração... ele disse isso, porque não conhecia o GUJ e o Google.

[MSN]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team