Duvida em manipulação de arquivos

Opa Galeraa, Blza ??

Seguinte …

estou lendo um arquivo .sql …

dentro dele contem as seguintes linhas:

[b]insert into
cliente (id, nome) values
(1, ‘Gui’);

  insert into
  cliente (id, nome) values
   (1, 'Jao');

[/b]

Onde eu tenho como delimitador ai o ( ; ) …ler lnha a linha eu consigo … e se o statement tiver em uma linha só tbm …

Agora, eu quero montar um statment assim - insert into cliente (id, nome) values (1, ‘Gui’); para passar para PreparedStatment.

na verdade eu tenho q para qnd eu encotrar um ponto e virgula … mas enquanto isso tenho q montar o statmente em uma unica linha.

alguem pode me ajudar ??

procura por substring ou split

valeu…

mas por split nao da pq ele me retorna um array de String … o q nao é necessario

Existe uma solução tosca e bem simples para o que tu quer fazer…
Tu pode criar um StringBuffer e sair concatenando todos os carcteres que vc encontra. Se vc encontrar um ‘;’ vc fecha o buffer e retorna a string.

[]'s

boa …

a principio to tentando resolver com StringBuffer … heheh

mas pq entao seria tosca ?!?!

Use a classe java.util.Scanner… No javadoc você tem alguns exemplos…

Scanner s = new Scanner(new File(input.sql)).useDelimiter(";"); System.out.println(s.next()); s.close();

Que neste caso iria retornar:

insert into
cliente (id, nome) values
(1, ‘Gui’);

[quote=gui_sv]boa …

a principio to tentando resolver com StringBuffer … heheh

mas pq entao seria tosca ?!?![/quote]

É que como você acaba usando “força bruta” meio que parece tosco. Acho que a solução do cristianosanchez seja mais interessante! =D

[quote=cristianosanchez]Use a classe java.util.Scanner… No javadoc você tem alguns exemplos…

Scanner s = new Scanner(new File(input.sql)).useDelimiter(";"); System.out.println(s.next()); s.close();

Que neste caso iria retornar:

insert into
cliente (id, nome) values
(1, ‘Gui’);
[/quote]

entendi … vou testar sua solução …

qq duvida volto a postar …

galera … obrigado a todos !!!

[quote=cristianosanchez]Use a classe java.util.Scanner… No javadoc você tem alguns exemplos…

Scanner s = new Scanner(new File(input.sql)).useDelimiter(";"); System.out.println(s.next()); s.close();

Que neste caso iria retornar:

insert into
cliente (id, nome) values
(1, ‘Gui’);
[/quote]

Perfeito … funciona direitinho … !!!

obrigado caraaa …