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

Responder a