Teen yhtä softaa ja ihmettelen miten saisin selville mikä on rivinvaihtomerkki windows-maailmassa .txt tiedostoissa.
Pitäis pätkiä merkkijonoa jonka lukee tiedostosta.
Pitäis pätkiä merkkijonoa jonka lukee tiedostosta.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 9
Vanhimmat
En testannut mutta voisin veikata vaikkapa:
"\013\010"
\r\n on rivinvaihto Windows:issa.
Eli rivinvaihto on tosiaa 13, 10. Jos kuitenkin haluat ilmoittaa sen octaali lukuna niin silloin se menee luonnollisisti: "\015\012" ;-)
Eli jos olen tehnyt tekstitiedoston (.txt), niin onko tämä sama \r\n merkki myös siellä rivinvaihtona.
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.
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.
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()
..., epäilen itsekin että vika taitaa olla siinä.