Conversão de código c# para Java

9 respostas
M

Bom dia pessoal.

tenho um código a qual não estou conseguindo traduzir.

form = new StreamReader("meuform.prn", System.Text.Encoding.GetEncoding("ISO-8859-1")); formFrente = form.ReadToEnd(); form.Close(); conteudoArquivo.Append(FormatarForm(formFrente, "1"));
Alguem poderia me dar uma luz?
o trecho acima é escrito em c#.

9 Respostas

I

Você tem que ler um arquivo, definir o encoding dele e descobrir o que faz o FormatarForm.
Esse StreamReader, parece ser identico ao InputStream do Java [eu acho]

M

Rapaz eu estou tentando converter isso desde ontem.
Tudo para criar uma mascara de impressão.

Já tentei usar o ImputStream mas não tive sucesso.
Já busquei no JavaDoc da Oracle e tambem não achei nada a respeito disso.
Estou totalmente perdido.

I

Você setou o encoding também ?

M

eu estou tentando algo do tipo

FileInputStream carrega = new FileInputStream(formFrente.getText());
             BufferedInputStream entrada = new BufferedInputStream(carrega);
             DataInputStream linhaForm = new DataInputStream(entrada);
             while(linhaForm.readLine()!=null)
             {
                    
                    conteudoForm.append(linhaForm.readLine());
                
                
                 System.out.println(linhaForm.readLine());
             }
             
             
             
        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
                    Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
        }

Porque eu preciso carregar os bytes para depois escrevê-los em um arquivo PCL.

G
marcosacsj:
eu estou tentando algo do tipo
FileInputStream carrega = new FileInputStream(formFrente.getText());
             BufferedInputStream entrada = new BufferedInputStream(carrega);
             DataInputStream linhaForm = new DataInputStream(entrada);
             while(linhaForm.readLine()!=null)
             {
                    
                    conteudoForm.append(linhaForm.readLine());
                
                
                 System.out.println(linhaForm.readLine());
             }
             
             
             
        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
                    Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
        }

Porque eu preciso carregar os bytes para depois escrevê-los em um arquivo PCL.

vc não deveria usar o conteudo do primeiro realine()?

lógico q vc sabe q cada chamada vai ler uma "proxima linha".

ele nem sabe da existencia do seu loop pra q ele consiga entender o q vc ta querendo fazer.

seria algo assim:

String line;
 while(true)
 {
    line = linhaForm.readLine();
    if (line ==null) {
      break;
    }
    conteudoForm.append(line);               
	
    System.out.println(line);
 }
E

marcosacsj:
Bom dia pessoal.

tenho um código a qual não estou conseguindo traduzir.

form = new StreamReader("meuform.prn", System.Text.Encoding.GetEncoding("ISO-8859-1")); formFrente = form.ReadToEnd(); form.Close(); conteudoArquivo.Append(FormatarForm(formFrente, "1"));
Alguem poderia me dar uma luz?
o trecho acima é escrito em c#.

Vi que “formFrente” é uma String, mas o que faz FormatarForm?

V

Se você precisa lidar com charset, use a classe BufferedReader:

BufferedReader in = new BufferedReader( new InputStreamReader( new FileInputStream("meuform.prn", Charset.forName("ISO-8859-1") ) );

T

entanglement:
marcosacsj:
Bom dia pessoal.

tenho um código a qual não estou conseguindo traduzir.

form = new StreamReader("meuform.prn", System.Text.Encoding.GetEncoding("ISO-8859-1")); formFrente = form.ReadToEnd(); form.Close(); conteudoArquivo.Append(FormatarForm(formFrente, "1"));
Alguem poderia me dar uma luz?
o trecho acima é escrito em c#.

Vi que “formFrente” é uma String, mas o que faz FormatarForm?

Sem saber o que o FormatarForm faz fica difícil mesmo, pois o System.StringBuilder.Append recebe vários overloads, tais que cada um aceita um tipo de objeto/struct diferente.

M
public string FormatarForm(string form, string num)
        {
            string resolucao;
            if (form.Contains("*t600R"))
            {
                resolucao = "600";
            }
            else
            {
                resolucao = "300";
            }

            int i = form.IndexOf("&l0E", 0, 1000);
            form = form.Substring(i);
            form = form.Insert(0, PCLCommand.ESC + "&f" + num + "y0x0S" + PCLCommand.ESC + "&u" + resolucao + "D" + PCLCommand.ESC + "*t" + resolucao + "R" + PCLCommand.ESC);



            i = form.IndexOf("&l1X" + PCLCommand.SaltarPagina());
            int tamanho = form.Substring(i).Length;

            form = form.Remove(i);
            form = form.Replace(PCLCommand.ESC + "*v1N", "");

            return form + "*v0N" + PCLCommand.ESC + "&f1s1x10X";
        }

Alguem tem ideia como converter? estou levando uma surra, pois não conheço alguns métodos equivalentes em c#.
Obrigado

Criado 24 de agosto de 2012
Ultima resposta 3 de jan. de 2013
Respostas 9
Participantes 6