Exemplo de como deve ficar no arquivo “texto1;texto2;texto3;texto4”
alguém sabe algum comando que faça eu inserir no arquivo separando cada string por “;”??
valeu
Pesquise sobre split(";");
ah foi esse split mesmo que o professor disse…
é porque estou respondendo uma lista de exercicios, uma questão é o seguinte
Crie uma classe CriarArquivoLista que será responsável por guardar uma lista de Strings em um arquivo. No construtor, ela deverá receber o nome do arquivo onde a lista será guardada. Ela deverá conter os dois seguintes métodos:
? void salvarNovaLista(List lista): salva a lista passada como parâmetro no arquivo, removendo todo o dado que existia anteriormente;
meu codigo ta assim:[code]public class CriararquivoLisat {
private String nome;
public CriararquivoLisat(String nome){
this.nome = nome;
}
public void guardarLista(List<String> lista){
File arq = new File(nome);
FileOutputStream stream = new FileOutputStream(arq);
OutputStreamWriter writer = new OutputStreamWriter(stream);
writer.write(lista);
writer.close();
stream.close();
}[/code]
mas nao ta funcionando nao estou conseguind inserir nada no arquivo…
alguma dica?
melhore o codigo,
agora quando insiro outra lista ele apaga a anterior, queria inserir apos as string anteriores no arquivos, ou seja, sem apagar os daddos que tinha no arquivo…
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;
import org.w3c.dom.ls.LSInput;
public class CriararquivoLisat {
private String nome;
public CriararquivoLisat(String nome){
this.nome = nome;
}
public void guardarLista(List<String> lista) throws IOException{
File arq = new File(nome);
FileOutputStream stream = new FileOutputStream(arq);
OutputStreamWriter writer = new OutputStreamWriter(stream);
for(int i=0;i<lista.size();i++){
writer.write(lista.get(i));
}
writer.close();
stream.close();
}
}
[code]import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class MAin {
public static void main(String[] args) throws IOException {
List lista = new ArrayList();
lista.add(“Francisco”);
lista.add(" Robson");
lista.add(" Duarte");
lista.add(" Nogueira");
List lista1 = new ArrayList();
lista1.add(“dua”);
CriararquivoLisat c = new CriararquivoLisat("arq");
c.guardarLista(lista);
}
}
[/code]
valeu
Oi!
Use a classe PrintWriter para escrever em seu arquivo.
Utilizando o construtor podes informar para não apagar o que já existe no mesmo, apenas adicionar informações.
Dá uma olhada na API ok?
Abraços.
ah valeu cara,
utilizei o PrintWriter.
writer.print("")
, e coloquei a String ela inseriu depois dos nome que já tinha no arquivo…só não sei se isso é uma gambiarra…
heh, então a diferença entre OUtpurstreamWriter e printwriter é justamente essa? um escreve por cima e o outro não ?
valeu…
ah tenho outra pegunta se puderes me ajudar …
? List lerLista(): lê o conteúdo do arquivo retornando uma lista de strings referente a tal conteúdo.
As listas devem ser salvas em um arquivo texto, com o seguinte formato:
linha1; linha2; linha3;
eu sei que é com o split, só não sei como usá-lo
alguma dica??
Boa Tarde, *robson!
split() é um método da classe String, que divide uma string de acordo com o delimitador que você passar para o método como argumento.
Digamos que você tem o seguinte:String minhaString = "AAA;BBB;CCC";
String[] minhasStrings = minhaString.split(";");
for(int i = 0; i < minhasStrings.length; i++)
System.out.println(minhasStrings[i]);
A saída será:
AAA
BBB
CCC
Nota-se que split() tem como valor de retorno um array do tipo String e que cada índice recebe as substrings que o delimitador separou.
O argumento esperado pelo split() é um String contendo regex, portanto procure informação adicional sobre expressões regulares para que você entenda como funciona o seu uso e para que você não se enrole com o uso do método split().
Para mais informação, leia e crie o hábito de consultar a documentação antes de perguntar.
Abraço!