Oi Andre.
Java possui uma classe chamada Sysem que fornece algumas caracteristicas
do SO.
Para saber qual o path (/ ou \) voce pode usar o metodo
System.getProperty(file.separator);
Ou seja, voce nao precisa saber que SO Java esta rodando para definir o
separador de arquivo, ele faz isto pra voce. Basta solicitar.
Se quiser pode executar o programa em anexo para se ter uma ideia o do que
estou falando.
Executei o programa no NT e veja o resultado que obtive:
N:\users\handerson\documentos\java\fontes>java SystemProperties
See below some properties about your system
====================== Java Runtime Properties ===================
Java Runtime Environment version:1.1.8
Java Runtime Environment vendor :IBM Corporation
Java Virtual Machine implementation version :null
Java Runtime Environment specification version:null
Java Runtime Environment specification name :null
Java class format version number:45.3
Java class path
:C:\jdk1.1.8\lib\classes.zip;c:\jswdk-1.0.1\lib\
servlet.jar;.;h:\projetos\itts\bin;c:\jdk1.1.8\bin\..\classes;c:\jdk1.1.8\bin\..
\lib\classes.zip;c:\jdk1.1.8\bin\..\lib\classes.jar;c:\jdk1.1.8\bin\..\lib\rt.ja
r;c:\jdk1.1.8\bin\..\lib\i18n.jar;c:\jdk1.1.8\bin\..\lib\math.jar;c:\jdk1.1.8\bi
n\..\lib\rmi-iiop.jar;c:\jdk1.1.8\bin\..\lib\jndi.jar;c:\jdk1.1.8\bin\..\lib\cos
naming.jar;c:\jdk1.1.8\bin\..\lib\rmiregistry.jar;c:\jdk1.1.8\bin\..\lib\provide
rutil.jar
====================== System Properties ===================
Operating system name :Windows NT
Operating system architecture :x86
Operating system version :4.0
File separator ("/" on UNIX) :\
Path separator (":" on UNIX) :;
User's account name :handerson
User's home directory :C:\
User's current working directory:N:\users\handerson\documentos\java\fontes
Line separator ("\n" on UNIX):
Text on line 1
Line 2
A lista completa de propriedades fornecida esta abaixo:
java.version Java Runtime Environment version
java.vendor Java Runtime Environment vendor
java.vendor.url Java vendor URL
java.home Java installation directory
java.vm.specification.version Java Virtual Machine specification
version
java.vm.specification.vendor Java Virtual Machine specification vendor
java.vm.specification.name Java Virtual Machine specification name
java.vm.version Java Virtual Machine implementation version
java.vm.vendor Java Virtual Machine implementation vendor
java.vm.name Java Virtual Machine implementation name
java.specification.version Java Runtime Environment specification
version
java.specification.vendor Java Runtime Environment specification vendor
java.specification.name Java Runtime Environment specification name
java.class.version Java class format version number
java.class.path Java class path
os.name Operating system name
os.arch Operating system architecture
os.version Operating system version
file.separator File separator ("/" on UNIX)
path.separator Path separator (":" on UNIX)
line.separator Line separator ("\n" on UNIX)
user.name User's account name
user.home User's home directory
user.dir User's current working directory
"Andre H. Gil" wrote:
> Handerson,
>
> Atualmente estou desenvolvendo JSP e EJB, utilizando o middleware
> Weblogic. Concordo que os ".class" realmente s�o portaveis para
> qualquer OS, por�m deve-se tratar as diferen�as nos OS dentro do
> c�digo, isto em nenhum momento tira o m�rito de Java, contudo outras
> liguangens tamb�m s�o "port�veis", somente necessitam ser compiladas
> para a m�quina final.
>
> � claro que voc� ter� que tamb�m tratar as diferen�as, nas outras
> linguagens, contudo em Java � mais simples tratar estas diferen�as,
> pois a JVM faz o maior trabalho para voc�.
>
> Em java, por exemplo, voc� precisa saber o separador da path; a
> parte visual � um outro ponto que ainda n�o funciona bem, contudo
> creio que em pouco tempo teremos isto resolvido.
>
> Creio que Java � uma excelente plataforma para se desenvolver, por�m
> existe ainda muito a ser evoluido.
>
> Andre Gil
>
> >Oi Andre.
> >
> >Nao quero causar muita polemica, mas o "Write Once, Run anywhere"
> realmente
> >funciona, e a linguagem Java eh realmente portavel. Com excecao dos
> >aplicativos gerados pelo Visual J++, todas as classes do Java sao
> portaveis.
> >
> >O grande limitante desta portabilidade fica por conta da JVM, a parte
> do java
> >responsavel por executar os .class. O problema hoje, principalmente
> para quem
> >desenvolve applets, e' que o Java 2 ainda nao eh suportado pelos
> browsers,
> >grande parte das versoes ainda tem problemas com o Java 1.1, e por ai
> vai.
> >Eu desenvolvo aplicacoes para servidores usando jdk 1.2.2 e tive
> problemas
> >para migrar para o Visual Age da IBM, pois este usa o jdk 1.1.8.
> >
> >Java eh multiplataforma com certeza, desde que haja uma JVM
> compativel.
> >Vale lembrar que a JVM eh "retroativa", a JVM 1.2.2 eh compativel com
> todas
> >os anteriores, apesar das informacoes de Deprecated apresentadas na
> >compilacao.
> >
> >Por isso, um bom slogam: "Java: Write Once, test anywhere."
> >
> >[]'s
> >Handerson Gomes
> >
> >
> >"Andre H. Gil" wrote:
> >
> >> Ola Robson,
> >>
> >> na verdade n�o era "White one run anywhere", e sim "Write one
> and
> >> run anywhere", este � um slogan da Sun para o Java. Segundo a Sun
> >> voc� poder� portar a sua applica��o para qualquer plataforma, isto
> >> realmente chega perto da verdade, por�m existe ainda muito para se
> >> fazer para se obter uma applica��o que voc� escreva um �nico c�digo
> e
> >> rode em qualquer OS.
> >>
SystemProperties.java