Windows rivinvaihtomerkki tekstitiedostossa?

Teen yhtä softaa ja ihmettelen miten saisin selville mikä on rivinvaihtomerkki windows-maailmassa .txt tiedostoissa.

Pitäis pätkiä merkkijonoa jonka lukee tiedostosta.
96824
Äänestä

Muut lukivat myös

Vastaukset 9

Vanhimmat

En testannut mutta voisin veikata vaikkapa:
"\013\010"

Äänestä
  • \r\n on rivinvaihto Windows:issa.

    Äänestä

  • Eli rivinvaihto on tosiaa 13, 10. Jos kuitenkin haluat ilmoittaa sen octaali lukuna niin silloin se menee luonnollisisti: "\015\012" ;-)

    Äänestä

  • juu kirjoitti:

    \r\n on rivinvaihto Windows:issa.

    Eli jos olen tehnyt tekstitiedoston (.txt), niin onko tämä sama \r\n merkki myös siellä rivinvaihtona.

    Äänestä

Windows/DOS mailmassa rivin vaihto on "\r\n" eli 13, 10. En tiedä miksi kysyit juuri Windows rivin vaihtoa, mutta yleisesti jos teet softaa Javalla niin sen järjestelmän rivin vaihdon jossa koodia ajetaan saa selville getPropertyllä seuraavasti:

String rivinvaihto = System.getProperty("line.separator");

Luonnollisesti getPropertyllä saa selville myös muut järjestelmä kohtaiset asiat kuten polku erottimen ("path.separator"), tiedosto erottimen ("file.separator"), jne.

Äänestä
  • Koodissa juuri tätä
    String rivinvaihto = System.getProperty("line.separator");

    ei vain toiminut, jostain syystä. Epäilen, että syy saattaisi olla tekstitiedostossa .txt, ehkä siellä oleva rivinvaihtomerkki on joku muu kuin mitä saa getProperty(...) metodilla ulos.

    Täytyy vielä kokeilla.

    Äänestä

  • Testasin \r\n antaa oikean tuloksen ja
    System.getProperty("line.separator") antaa NullPointerException, mikä ilmeisesti johtuu että haettaessa indexOf ko. merkkiä sitä ei ole tekstitiedostossa.

    Äänestä

  • Tero kirjoitti:

    Testasin \r\n antaa oikean tuloksen ja
    System.getProperty("line.separator") antaa NullPointerException, mikä ilmeisesti johtuu että haettaessa indexOf ko. merkkiä sitä ei ole tekstitiedostossa.

    Tarkista viellä että kirjoitit merkkijonon "line.separator" oikein. Jos kyseinen merkkijono on väärin kirjoitettu, palauttaa getProperty tällöin arvon null, joka taas sitten aiheuttaa sen että "NullPointerException" tulee "indexOf" kohdassa.

    ks. http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#getProperties()

    Äänestä

  • Rivinvaihto kirjoitti:

    Tarkista viellä että kirjoitit merkkijonon "line.separator" oikein. Jos kyseinen merkkijono on väärin kirjoitettu, palauttaa getProperty tällöin arvon null, joka taas sitten aiheuttaa sen että "NullPointerException" tulee "indexOf" kohdassa.

    ks. http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#getProperties()

    ..., epäilen itsekin että vika taitaa olla siinä.

    Äänestä

Kommentoi aloitusta


Tero kirjoitti:

Teen yhtä softaa ja ihmettelen miten saisin selville mikä on rivinvaihtomerkki windows-maailmassa .txt tiedostoissa.

Pitäis pätkiä merkkijonoa jonka lukee tiedostosta.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu