/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
pathSeparator på unix og windows
Fra : Anders Hansen


Dato : 11-03-02 18:22

Hejsa, jeg har et lille problem med denne pathSeperator.
Jeg sender filer fra en windows maskine til en ukendt maskine (unix eller
andet der kan køre java), derudover sender jeg også en streng med en
fil-sti, da filen skal ligge på modtager-maskinen i en tilsvarende struktur.
Hvordan håndtere jeg nu at få konverteret stien: "export\bib1\test.txt" til
unix fx. "export/bib1/test.txt"?
jeg kan jo ikke bare erstatte '\' med '/' da jeg ikke ved hvilken der er
gældende på den aktuelle maskine?

MVH/Anders



 
 
Filip Larsen (11-03-2002)
Kommentar
Fra : Filip Larsen


Dato : 11-03-02 18:41

Anders Hansen skrev

> Hejsa, jeg har et lille problem med denne pathSeperator.

Bemærk, at system property "file.separator" normalt er sat til den lokale
separator.


Mvh,
--
Filip Larsen <filip.larsen@mail.dk>



Anders Hansen (11-03-2002)
Kommentar
Fra : Anders Hansen


Dato : 11-03-02 18:42

ja og det er jo mit problem....
Jeg tror jeg bliver nød til at opdele stien inden jeg sender den afsted...

Tak alligevel
/Anders


"Filip Larsen" <filip.larsen@mail.dk> skrev i en meddelelse
news:PY5j8.3558$RB.122655@news010.worldonline.dk...
> Anders Hansen skrev
>
> > Hejsa, jeg har et lille problem med denne pathSeperator.
>
> Bemærk, at system property "file.separator" normalt er sat til den lokale
> separator.
>
>
> Mvh,
> --
> Filip Larsen <filip.larsen@mail.dk>
>
>



Rasmus Bang Grouleff (11-03-2002)
Kommentar
Fra : Rasmus Bang Grouleff


Dato : 11-03-02 18:43

Anders Hansen wrote:

> Hvordan håndtere jeg nu at få konverteret stien: "export\bib1\test.txt"
til
> unix fx. "export/bib1/test.txt"?
> jeg kan jo ikke bare erstatte '\' med '/' da jeg ikke ved hvilken der er
> gældende på den aktuelle maskine?

Kunne det tænkes, at du laver en smule kode, der ved hvilken platform det
kører på. Den tager den tekststreng som argument, og konverterer det til en
gyldig sti? Så afsenderen kan være ligeglad med hvilken platform den sender
til.

MVH
Rasmus B. Grouleff



Anders Hansen (11-03-2002)
Kommentar
Fra : Anders Hansen


Dato : 11-03-02 19:15

Ja det bliver nok sådan jeg løser det... jeg sender et array med, hvor hvert
underbibliotek er et element! Så kan modtager klippe dem sammen... det
virker bare lidt klodset!

MVH/Anders

"Rasmus Bang Grouleff" <rb_grouleff@runbox.com> skrev i en meddelelse
news:a6iqam$pc6$1@sunsite.dk...
> Anders Hansen wrote:
>
> > Hvordan håndtere jeg nu at få konverteret stien: "export\bib1\test.txt"
> til
> > unix fx. "export/bib1/test.txt"?
> > jeg kan jo ikke bare erstatte '\' med '/' da jeg ikke ved hvilken der er
> > gældende på den aktuelle maskine?
>
> Kunne det tænkes, at du laver en smule kode, der ved hvilken platform det
> kører på. Den tager den tekststreng som argument, og konverterer det til
en
> gyldig sti? Så afsenderen kan være ligeglad med hvilken platform den
sender
> til.
>
> MVH
> Rasmus B. Grouleff
>
>



The MaXx (11-03-2002)
Kommentar
Fra : The MaXx


Dato : 11-03-02 19:32

> Ja det bliver nok sådan jeg løser det... jeg sender et array med, hvor
hvert
> underbibliotek er et element! Så kan modtager klippe dem sammen... det
> virker bare lidt klodset!

Eller også sender du det bare som windows-stien (eller som unix'en. Bare ens
hver gang) og så kører modtageren en funktion som ligner dette:

public String toLocalPath(String s)
{
s.replace('\', System.getProperty("file.separator").charAt(0));
return s;
}

The MaXx

PS.: Koden er fri fra hukommelse og ikke testet



Anders Hansen (11-03-2002)
Kommentar
Fra : Anders Hansen


Dato : 11-03-02 19:40

ja, men jeg ved jo ikke at det er '\' jeg skal erstatte... (det gælder jo
kun i windows -tror jeg)

MVH/Anders

"The MaXx" <the_maxx80@hotmail.com> skrev i en meddelelse
news:3c8cf816$0$37689$edfadb0f@dspool01.news.tele.dk...
> > Ja det bliver nok sådan jeg løser det... jeg sender et array med, hvor
> hvert
> > underbibliotek er et element! Så kan modtager klippe dem sammen... det
> > virker bare lidt klodset!
>
> Eller også sender du det bare som windows-stien (eller som unix'en. Bare
ens
> hver gang) og så kører modtageren en funktion som ligner dette:
>
> public String toLocalPath(String s)
> {
> s.replace('\', System.getProperty("file.separator").charAt(0));
> return s;
> }
>
> The MaXx
>
> PS.: Koden er fri fra hukommelse og ikke testet
>
>



Rasmus Bang Grouleff (11-03-2002)
Kommentar
Fra : Rasmus Bang Grouleff


Dato : 11-03-02 19:55

Anders Hansen wrote:

> ja, men jeg ved jo ikke at det er '\' jeg skal erstatte... (det gælder jo
> kun i windows -tror jeg)

Du skal bare sørge for, at det altid er '\' der er pathseperator i den
streng du sender med, så skulle det ikke være noget problem.

MVH
Rasmus Bang Grouleff



The MaXx (11-03-2002)
Kommentar
Fra : The MaXx


Dato : 11-03-02 19:59

> ja, men jeg ved jo ikke at det er '\' jeg skal erstatte... (det gælder jo
> kun i windows -tror jeg)

Ja, men da du sender det som en streng, ved du præcis hvad du skal erstatte,
så kører modtager computeren bare den funktion jeg skrev, før den bruger
stien.

The MaXx



Filip Larsen (11-03-2002)
Kommentar
Fra : Filip Larsen


Dato : 11-03-02 22:08

The MaXx skrev

> public String toLocalPath(String s)
> {
> s.replace('\', System.getProperty("file.separator").charAt(0));
> return s;
> }
>
> PS.: Koden er fri fra hukommelse og ikke testet

Ok, men for en god ordens skyld skal det lige nævnes, at String.replace
returnerer den nye streng. Ovenstående skal altså være "return
s.replace(...".

Mvh,
--
Filip Larsen <filip.larsen@mail.dk>



The MaXx (11-03-2002)
Kommentar
Fra : The MaXx


Dato : 11-03-02 22:23

> > public String toLocalPath(String s)
> > {
> > s.replace('\', System.getProperty("file.separator").charAt(0));
> > return s;
> > }
> Ok, men for en god ordens skyld skal det lige nævnes, at String.replace
> returnerer den nye streng. Ovenstående skal altså være "return
> s.replace(...".

Selvfølgelig.... sådan kan det gå med kode lige ud af hovedet.

The MaXx



Flemming Jensen (11-03-2002)
Kommentar
Fra : Flemming Jensen


Dato : 11-03-02 22:35

On Mon, 11 Mar 2002 18:22:08 +0100, in dk.edb.programmering.java you
wrote:

>Hejsa, jeg har et lille problem med denne pathSeperator.
>Jeg sender filer fra en windows maskine til en ukendt maskine (unix eller
>andet der kan køre java), derudover sender jeg også en streng med en
>fil-sti, da filen skal ligge på modtager-maskinen i en tilsvarende struktur.

Du behøver i virkeligheden ikke gøre noget som helst. Jeg bruger altid
'/' uanset hvilken platform Java afvikles på. JVM'en konverterer selv
efter behov, og det er dermed transparent. Jeg foretrækker at bruge
'/' over hele linien, da man ved '\' ofte glemmer "\\" i forbindelse
med tekststrengsliteraler.

I praksis har du kun behov for pathSeperator hvis du skal bruge
stien i anden sammenhæng - f.eks. vise den til brugeren.


/Flemming Jensen


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste