1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Duvidas Java

Discussão em 'Programação' iniciada por arkannis, 12 de Julho de 2007. (Respostas: 28; Visualizações: 1760)

  1. arkannis

    arkannis Power Member

    Como substituir \ por \\?
    Basicamente o que quero fazer é que o programa guarde alguma coisa num ficheiro, ficheiro esse que é previamente apontado pelo utilizador.

    Algo deste género: (o codigo ta incompleto)

    Código:
    out.print("O caminho do file: ");
    String filepath = inScan.nextLine();
    
    PrintStream diskWrite = new PrintStream(new File(filepath));
    
    diskWrite.println("Stuff");
    Isto funciona perfeitamente, mas a não ser que o utilizador do programa perceba da coisa, ele nunca vai escrever o caminho com \\ em vez de \, que é necessário em java para a coisa funcionar. (Ex: vai escrever C:\folder\ola.txt enquanto deveria escrever C:\\folder\\ola.txt)

    Como é que eu posso dar a volta a isto, de modo a que o programa aceite os caminhos escritos só com uma \ ?

    Obrigado, espero terem percebido bem a questao :P expliquei o melhor que pude lol.
     
    Última edição: 13 de Julho de 2007
  2. Pure_Water

    Pure_Water Power Member

    edit: eskece lol li mal a duvida.
     
    Última edição: 12 de Julho de 2007
  3. mcog_blaster

    mcog_blaster Power Member

    Código:
    ....
    String scan = inScan.nextLine();
    String path = scan.replace("\\", "\\\\");
    		
    System.out.println(scan);
    System.out.println(path);
    ...
     
  4. arkannis

    arkannis Power Member

    Pronto, fez o que eu quis, obrigado ;)

    Mas eu gosto de perceber o código que escrevo :P
    Se fosse replace("\", "\\") eu chegava lá sozinho :007: , mas assim não compreendo o porquê de pôr essas barras todas.

    E a solução do pure_water ainda é chinês para mim :-D
     
  5. arpinacio

    arpinacio Power Member

    penso que seja porque por exemplo "\n" é mudança de linha... logo "\" nunca pode estar sozinha pois é um caracter especial

    logo se keres dizer \ tens k por "\\"

    analogamente se keres por \\ tem k ser "\\\\"
     
  6. Pure_Water

    Pure_Water Power Member

    sorry lol eu tinha lido mal, pensei que querias apenas C:\\folder\ola.txt em vez do C:\\folder\\ola.txt lol

    é do sono -_-
     
  7. mcog_blaster

    mcog_blaster Power Member

    O character \ é representado internamente por \\, por ser um caracter especial.
    Ex:
    Se quiseres representar um tab, \t
    Uma barra, \\
    Se quiseres meter aspas no meio de texto, \"

    PS: Ups, ja se adiantaram a mim :-)
     
  8. hYpe

    hYpe [email protected] Member

    Isso e' para um programa com GUI?

    Se sim, porque nao pores um JFileChooser?

    Assim ja nao tens o problema das \ \\\ \\\\\\\\ \\ \\\ \\\ :p
     
  9. arkannis

    arkannis Power Member

    Não não é para um programa com GUI.

    Mas já que falas nisso... é muito avançado fazer um programa com GUI em java? Aconselham algum livro ou site em especial que ensine a dar os primeiros toques nessa área?
     
  10. hYpe

    hYpe [email protected] Member

    O NetBeans tem uma ferramente de 'drag and drop' para fazer GUI's... experimenta!
     
  11. theforbidden1

    theforbidden1 Banido


    São as chamadas sequencias de escape... aõ usares uma backslash (barra inclinada para traz) tas a indicar ao Java que ali anda 1 caracter de escape. Por coincidencia o \\ é 1 caracter de escape que significa uma backslash (\)

    A explicação está aqui.
     
  12. PrOdG

    PrOdG Power Member

    O que torna especialmente divertido o trabalho de quem tem de pegar em projectos começados por outros "programadores" e depois tem de andar a decifrar qual é o JPanel851 e o JDialog463..
     
  13. Pure_Water

    Pure_Water Power Member

    lol indeed...
     
  14. arkannis

    arkannis Power Member

    Mas e iniciar nessa coisa da GUI :P sem ser com o drag and drop do NetBeans?
    É facil e há livros e afins para aprender ou é uma coisa do outro mundo (certamente que nao é mas pronto :P )?

    É que eu nao tenho nenhuma deadline para fazer o programa X. Ando só mesmo a aprender umas coisas e se há coisa que eu gosto é compreender o que estou a fazer.
     
  15. mcog_blaster

    mcog_blaster Power Member

    Dass...isso é o que dá nao chamar as coisas pelos nomes...


    Começa poir aqui:
    http://java.sun.com/docs/books/tutorial/uiswing/
    e neste tens montes de exemplos
    http://www.exampledepot.com/
     
  16. AliFromCairo

    AliFromCairo Power Member

    A ideia do Matisse (GUI Builder do Netbeans) é facilitar a vida do programador.
    Tipicamente, o código gerado é manipulado somente pelo GUI Builder.

    Citando o Scott Violet (chief architect do JFC/Swing):

    Para além dos sites que o mcog_blaster referiu, recomendo fortemente dares uma vista de olhos nas seguintes entradas do blog do Scott Violet, que se debruçam sobre o desenvolvimento de uma aplicação Java (com GUI) seguindo a abordagem MVC:

    http://weblogs.java.net/blog/zixle/archive/2006/01/architecting_ap.html
    http://weblogs.java.net/blog/zixle/archive/2006/01/architecting_ap_1.html
    http://weblogs.java.net/blog/zixle/archive/2006/03/architecting_ap_2.html

    Aproveito também, para deixar um link para uma animação flash sobre o GridBagLayout, também conhecido por GridBugLayout: http://madbean.com/anim/totallygridbag.

    : )
     
  17. hYpe

    hYpe [email protected] Member

    Eu tambem nao gosto, e nem uso...
    Mas se ele nao percebe nada de GUIs... :p
     
  18. PrOdG

    PrOdG Power Member

    A ideia do Matisse é facilitar a vida do programador individual de pequenos projectos. E para essa funcionalidade, é bastante aceitável.
    O problema é quando começa a haver pessoal que o utiliza para projectos de maior dimensão sem pensar que a pessoa que vai receber o código a seguir vai ter de andar a perder dias para perceber a estrutura do programa. Já me aconteceu, e não desejo a ninguém.
     
  19. mcog_blaster

    mcog_blaster Power Member

    Desculpem lá, mas quer seja usado para pequenos, medios ou grandes projectos, nao ha razao nenhuma para se deixar os componentes com os nomes que o Matisse aplica.

    Right Click em cima do componente->Change Variable Name..., nao custa muito e nao leva muito tempo.
     
  20. AliFromCairo

    AliFromCairo Power Member

    Compreendo a tua situação, mas o problema não é só do Matisse. É também dos programadores que não usam MVC e, consequentemente, têm grande parte
    da lógica de negócio nas componentes visuais da aplicação.
    Outro dos problemas é o nome que é dado às variáveis, mas este pode ser facilmente resolvido atribuindo nomes coerentes às componentes visuais, quando estas são criadas.
     

Partilhar esta Página