Java fájlkezelés?

Fórumok

Sziasztok!

Ha Java-ban egy Integer típusú tömb elemit íratom ki egy fájlba, akkor a "fájl" végére odaír mindig egy nullát is. Ez természetes vagy csak egy lépést kihagytam?

Hozzászólások

Hol a kód? Biztos vagy benne, hogy nem te rontod el a dolgot?

Nem, nem vagyok benne biztos, sőt valószínű hogy én rontottam el valamint, eddig csak szöveges tartalmakat írtam ki fájlba azzal nem volt gond, most hogy számokat kellett fájlba írni így akadt ez a kis probléma, a fájl létrejön és a számok is benne vannak, a gond csupán annyi hogy egy nullát még beír a fájlba.

Amúgy itt a kódrészlet:

try {
FileWriter file = new FileWriter("Eltárolt számok.txt");
for (int i=0; i<=vegjel; i++){
int seged = Szamok[i];
String seged2 = String.valueOf(seged);
file.write(seged2 +" , ");
}

Szerintem nincs feltöltve teljesen neked a tömböd és ezert az utolso elem értéke 0. Ezert igy eleg ez :

for (int i=0; i < vegjel; i++)

vegjel az a tomb nagysaga lenne? vegjel=Szamok.length();

Amugy azt hiszem (ki kell probalni) nem kell kulon cast-ot csinalni, eleg a file.write -ben egy ilyen (már a + után ha stringet adsz hozza az elozo elemhez akkor az is stringe konvertalodik):

file.write(Szamok[i]+",");

Persze lehet tévedek.

Szijártó Zoltán
Aki tud az alkot, aki nem tud az csak szövegel.

"Amugy azt hiszem (ki kell probalni) nem kell kulon cast-ot csinalni, eleg a file.write -ben egy ilyen (már a + után ha stringet adsz hozza az elozo elemhez akkor az is stringe konvertalodik):

file.write(Szamok[i]+",");"

Először én is így csináltam, de amit a fájlba írt az valami katasztrófa volt, mindenféle hieroglifákat.
Akkor gondoltam hogy "szöveget" csinálok a számokból, és így jó lett.

Valószínű hogy igazad van, erre én nem is gondoltam. Köszi.

Szerintem erre gondoltal, ez működik is, továbbá szebb, ha az utolso szám után nem rak ,-t:


import static java.lang.System.*;
import static java.lang.Integer.*;
import java.io.*;

class test {

public static void main(String[] args) {

int[] Szamok = {1,2,3,4,5};
try {
FileWriter file = new FileWriter("szamok.txt");
int n=Szamok.length;
for (int i=0; i < n; i++){
file.write(""+Szamok[i]);
if (i < n-1) { file.write(","); }
}
file.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}

Szetesett a tagolás, de ez van, igy ismerte fel a hup editor.

Szijártó Zoltán
Aki tud az alkot, aki nem tud az csak szövegel.