Bom, estou com um problemao, talvez seja bem simples de resolver mas ja quebrei muito a cabeça e preciso de algumas dicas... Bom eis a questão:
Estou tentando gravar um .txt normal, mas gostaria que o formato fosse separado com tabs e ainda pudesse dar nova linha, ou seja:
palavra1 palavra2 palavra3 palavra4
palavra5 palavra6 palavra7 palavra8
Obs. Precisa ser o tab, nao adianta colocar 4 espaços ou enfim. Tem que ser o tab, acho que é \t, assim como o \n
que muda de linha mas que em java nunca consegui usar. No vb existe o vbNewLine que muda a linha em um arquivo e o vTab que da um tab no arquivo. Não existe nada parecido em java?
A nova linha eu resolvo com o printLine mas o tab nao consigo fazer…
Por favor alguem tem uma dica?
MAIS UMA VEZ, DEVE SER O TAB E NÃO ESPAÇOS FIXOS.
Valew moçada, agradeço a ajuda.
em anexo tem um arquivo de como eu gostaria que ficasse.
Aconselho você a usar um StringBuffer, ele tem o metodo append, acho que esse código pode te ajudar..
pode fazer as alterações para atender a sua necessidade..
Fiz meio correndo, pode existir algumas coisa meia zuadinhas... saiu isso que está abaixo:
public class DeployFile {
private int numberTab;
private int numberColumn;
private int count = 1;
public int getNumberTab() {
return numberTab;
}
public void setNumberTab(int numberTab) {
this.numberTab = numberTab;
}
public int getNumberColumn() {
return numberColumn;
}
public void setNumberColumn(int numberColumn) {
this.numberColumn = numberColumn;
}
public String makeFile(String [] conteudo){
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < conteudo.length; i++) {
buffer.append(conteudo[i]);
if(isNewLine(i)){
buffer.append("\n");
}else{
for (int j = 0; j < numberTab; j++) {
buffer.append("\t");
}
}
}
return buffer.toString();
}
private boolean isNewLine(int index){
if((numberColumn * count)-1 == index){
count++;
return true;
}
return false;
}
public static void main(String[] args) {
DeployFile deployFile = new DeployFile();
deployFile.setNumberColumn(3);
deployFile.setNumberTab(0);
String[] conteudo ={"palavra1", "palavra2", "palavra3", "palavra4",
"palavra5", "palavra6", "palavra7", "palavra8", "palavra9" };
System.out.println(deployFile.makeFile(conteudo));
}
}