Manipulação de arquivo txt em java

5 respostas
V

Opa!!! tou iniciando meus estudos em java e estou com um pequeno problema, estou pegando os atributos de uma determinada classe e quando instancio o Objeto dela estou salvando os valores em um arquivo:

codigo; idade; sexo; nome; cpf …

bem, coloquei esse “;” para montar tipo uma Struct e poder identificar quando mudo de atributo na linha do arquivo.

o que devo utilizar para que meu programa identifique o";"???

desde já agradeço a atenção

5 Respostas

gpd38

De uma olhada nestes endereços, mas ja posso adiantar que você deverá usar uma função chamada SPLIT ou STRINGTOKENIZER

SPLIT

String s[] = tar.split("\;");

TOKENIZER

http://java.sun.com/j2se/1.4.2/docs/api/java/util/StringTokenizer.html
http://www.guj.com.br/posts/list/5591.java
http://www.cs.princeton.edu/introcs/72regular/Tokenizer.java.html


criador

Utilize o método split(";").
Com isso, ele irá quebrar a linha quando houver o caracter ; (ponto e vírgula).

V

massa!!! ja estou lando sobre essas funções SPLIT ou STRINGTOKENIZER , mas não quero que ele quebre a pagina quando encontrar o “;”, eu quero que ele identifique isso e trate as informações que estarão na mesma linha como outro atributo.

gpd38

Split

public class Split {

	public static void main(String args[]) {

		String str = "one-two-three";
		String[] temp;

		/* delimeter */
		String delimeter = "-";

		/* given string will be splitted by the argument delimeter provided. */
		temp = str.split(delimeter);

		/* print splitted substrings */
		for (int i = 0; i < temp.length; i++)
			System.out.println(temp[i]);

		/*
		 * 
		 * IMPORTANT : Some special characters needs to be escaped while
		 * providing them as
		 * 
		 * delimeters like "." and "|".
		 */
		System.out.println("");
		str = "one;two;three;four;five;six";
		delimeter = "\;";
		temp = str.split(delimeter);

		for (int i = 0; i < temp.length; i++)
			System.out.println(temp[i]);

	}
}

StringTokenizer

public class Tokenizer {

	public static void main(String[] args) {
		String s = "/this is/a test of the/class// and/all//last";
		char delimiter = '/';

		// calculate number of delimiter characters
		int N = 0;
		for (int i = 0; i < s.length(); i++)
			if (s.charAt(i) == delimiter)
				N++;
		String[] tokens = new String[N + 1];

		// parse N+1 tokens and store in an array
		int right = 0, left = 0;
		for (int i = 0; i < N; i++) {
			while (s.charAt(right) != delimiter)
				right++;
			tokens[i] = s.substring(left, right);
			right++;
			left = right;
		}
		tokens[N] = s.substring(right, s.length());

		// print results for testing
		for (int i = 0; i < tokens.length; i++)
			System.out.println(i + ": " + tokens[i]);
	}
}
V

Vlw pessoal pela atenção, o troço aki começou a ser desenrolado^^

vlw mesmo

Criado 5 de maio de 2009
Ultima resposta 5 de mai. de 2009
Respostas 5
Participantes 3