| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/02/2011 22:49:51
|
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
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2011 19:45:10
|
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!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2011 23:38:13
|
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?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2011 00:57:25
|
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!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2011 20:43:00
|
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?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/02/2011 14:23:50
|
ThgVieira
Thread.start()
Membro desde: 25/05/2009 13:26:05
Mensagens: 40
Localização: Campo Grande MS
Offline
|
thg.vieira12@gmail.com
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/02/2011 11:27:57
|
Mackrophus
JavaBaby
![[Avatar]](/images/avatar/27889b1809f50c3cfcd8a30b4242878a.jpg)
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.
|
|
|
 |
|
|