Quebra de Linha em Arquivo TXT (Cupom de Venda) ?

7 respostas
programaçãojavamysql
W

Boa Tarde Galera, estou desenvolvendo um sistema de Delivery para uma pizzaria e encontrei um método aqui no GUJ para criar um cupom de venda, consegui carregar os dados do meu banco nele normalmente, só que tem um problema, quando o nome do produto é muito grande ele fica cortando, como posso fazer pra dar uma quebra de linha?

Obs: o tamanho do cupom tem que ser esse não pode aumentar a largura dele.

Blockquote

public static void main(String[] args) throws SQLException{

Conexao conectaCupom=new Conexao();

conectaCupom.conexao();

try{

File arquivo = new File(teste.txt);

if(arquivo.exists()){

//se existir

FileWriter arquivoTxt = new FileWriter(arquivo, true);

PrintWriter linhasTxt = new PrintWriter(arquivoTxt);

//ACREDITO QUE SO PODE TER 42 CARACTERES

linhasTxt.println("===========================================");

linhasTxt.println("              Nome da empresa              “);

linhasTxt.println(”===========================================");

linhasTxt.println("********** NAO E DOCUMENTO FISCAL ********<em>");

linhasTxt.println("===========================================");

linhasTxt.println(PRODUTO      QTDE      VALOR UN.      VALOR);

//dados da tabela

/<em>for(int x = 0; x < tabelaConsumo.getRowCount(); x++){

linhasTxt.print(String.format("%-10.10s",tabelaConsumo.getModel().getValueAt(x, 1)));

linhasTxt.print(String.format("%7s     “,tabelaConsumo.getModel().getValueAt(x, 5)));

linhasTxt.print(String.format(”%10s    “,tabelaConsumo.getModel().getValueAt(x, 4)));

linhasTxt.print(String.format(”%7s    ",tabelaConsumo.getModel().getValueAt(x, 6)));

linhasTxt.println();

}</em>/

conectaCupom.executaSQL(select * from caix_itens where caixitens_id=291);

conectaCupom.rs.first();

do{

linhasTxt.print(String.format("%-10.10s",conectaCupom.rs.getString(caixitens_prod)));

linhasTxt.print(String.format("%7s     “,conectaCupom.rs.getInt(“caixitens_qtd”)));

linhasTxt.print(String.format(”%10s    “,conectaCupom.rs.getFloat(“caixitens_valor”)));

linhasTxt.print(String.format(”%7s     “,conectaCupom.rs.getFloat(“caixitens_total”)));

linhasTxt.println();

}while(conectaCupom.rs.next());

linhasTxt.println(”===========================================");

linhasTxt.println("   INFORMACOES PARA FECHAMENTO DE CONTA    “);

linhasTxt.println(”===========================================");

linhasTxt.println(" GARCOM  CONTA.DIV.  VAL.PESS. COVER  DESC.");

linhasTxt.print(String.format("%7s  %9s  %9s  %5s   %s",

garcom,

dividirconta,

vlpessoa,

cover,

desconto

<a href="//garcom.getText">//garcom.getText</a>(),

<a href="//dividirConta.getText">//dividirConta.getText</a>(),

<a href="//valorPorPessoa.getText">//valorPorPessoa.getText</a>(),

<a href="//cover.getText">//cover.getText</a>(),

<a href="//descontoConta.getText">//descontoConta.getText</a>()

));

linhasTxt.println();

linhasTxt.println("===========================================");

<a href="//linhasTxt.println">//linhasTxt.println</a>(“SubTotal                            " + valorBruto.getText());

linhasTxt.println(SubTotal                            " + “10,00”);

linhasTxt.println(”                   ------------------------”);

<a href="//linhasTxt.println">//linhasTxt.println</a>(“Total                                " + valorBruto.getText());

linhasTxt.println(Total                                " + “10,00”);

linhasTxt.println(”===========================================”);

linhasTxt.println("       MENSAGEM DA EMPRESA VAI AQUI        );

linhasTxt.println(   INFORMACOES PARA FECHAMENTO DE CONTA    ");

int i = 0;

while(i < 10){

i++;

linhasTxt.println();

}

arquivoTxt.close();

//emiteComanda();

}else{

//se naum existir

arquivo.createNewFile();

//criaTxt();

}

}catch(IOException error){

System.out.println(“nao encontrei arquivo”);

}

// imprime arquivo

/</em>

try {

java.io.InputStream is = new FileInputStream(“teste.txt”);

Scanner sc = new Scanner(is);

FileOutputStream fs = new FileOutputStream(“LPT1:”);

PrintStream ps = new PrintStream(fs);

while(sc.hasNextLine()){

String linhas = sc.nextLine();

ps.println(linhas);

}

fs.close();

} catch (IOException ex) {

JOptionPane.showMessageDialog(null, “Erro encontrado ao imprimir comanda.”);

}

*/

}

Blockquote

Meu Cupom sai da seguinte forma:

image

7 Respostas

J

Bom dia, conseguiu resolver sua questão??
Também estou tendo o mesmo problema com meu código e ainda não consegui solução.

staroski

Usa o método substring para separar a String em partes com o tamanho que você precisa.
E concatene essas partes com a quebra de linha, que é a propriedade de sistema "line.separator".

J

fechar pedido.php (17,2 KB)

J

Desculpe, na mensagem anterior não ficou legal e coloquei em anexo o código para dar uma olhada e ver se a aplicação pode ser a mesma que me informou.

staroski

Prezado @JacksonFernando, peço que não ligue mais para a residência de meus pais.

  1. Nunca te passei o telefone deles, você que deu uma de stalker sem vergonha e encontrou o número;

  2. Eles são idosos, não merecem ser aporrinhados por ninguém, muito menos um estranho;

  3. Poste suas dúvidas no fórum, se quer atendimento especial individualizado, procure consultoria, aqui todo mundo ajuda de boa vontade.

Passar bem.

FearX

@Paulo_Silveira

J

Peço desculpas pelo inconveniente, pois não foi minha intenção.
Apenas achei que após ter respondido minha publicação, achei que poderia dar uma consultoria comercial para minha dúvida, pois quando pesquisei sobre você, não sabia que os dados publicados em (https://www.guiafacil.com/site/ricardo-a-staroski/blumenau/sc/[telefone removido]/) fosse da casa do seus Pais.

Mais uma vez peço desculpas e muito obrigado!!!

Criado 8 de janeiro de 2018
Ultima resposta 14 de mai. de 2019
Respostas 7
Participantes 4