Pessoal que programa para desktop multiplataforma

Nao sei exatamente em qual fórum postar essa pergunta… Então vai aqui mesmo… :slight_smile:
FATOS

  • Estou criando uma IDE para programar em linguagem Ladder.
  • Gostaria que fosse possível rodar em qualquer sistema operacional.
  • Preciso copiar algumas dlls para a pasta lib do jre, para fazer a comunicação com a porta serial.
    PERGUNTA (duas)
  • Se eu mandar gravar em “C:\MeuPrograma” nao vai funcionar no linux, pq a raíz dele é apenas “”, e ele trata o hd nao como “C;” mas como “hda1”. Então como faço para gravar um arquivo no hd, na minha pasta, independente de sistema operacional?
  • E como faço para descobrir o caminho do jre que está sendo utilizado e copiar minhas dlls na pasta lib?
    Alguma dica? Referência? Desejos de boa sorte?

Bixo, na época que eu estava estudando swing, ele tinha um componente pra manipular arquivos… abrir, salvar etc. ele já resolvia isto.

Usa a classe system pra descobrir o caminho do seu jre
http://silveiraneto.net/2008/03/10/java-listing-system-properties/

Obviamente não é recomendado copiar as dlls direto la…e sim no path do seu projeto e referencia-las, mas se por la é provavel que funcione.

Sobre o componente da Swing…que o m0ska mensionou…é sobre o JFileChooser
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JFileChooser.html

Infelizmente só consegui q as dlls funcionassem se estiverem lá…
(dlls do javacomm, conhece?)

Valeu pela dica da classe System, vou tentar, qualquer coisa eu posto ae…

File file = new File("/test.txt");

Escreve na raiz do HD de onde o programa está rodando (C:, D:, hda1, etc).

File file = new File("test.txt");

Escreve na pasta raiz do programa (ex., se rodar pelo eclipse, escreverá na pasta ‘workspace’ e não na pasta ‘src’).

:slight_smile: