Stránka 1 z 1
Java - načtení čísla ze souboru
Napsal: ned 18. pro 2011, 22:27
od muliku
Ahoj, potřeboval bych poradit takovou triviální věc, ale já na to nemůžu přijít jak se to dělá. Nuže věc se má takle: Potřebuju načíst číslo (třeba 1234) ze souboru vstup.txt.. Když do toho souboru napíšu třeba 1, tak program mi vypíše 49 - to je předpokládám bytová hodnota danného znaku (tudíž max je 255). Já ale potřebuju do souboru napsat 1234 a aby mi program vypsal 1234. Zde je úryvek kódu, který se stará o načítání ze souboru:
FileInputStream in = new FileInputStream("vstup.txt");
int a = in.read();
in.close();
System.out.println(a);
Poradí mi někdo metodu na načtení čísla a ne pouze bytu? Díky

Re: Java - načtení čísla ze souboru
Napsal: ned 18. pro 2011, 22:42
od yuri.cs
Pokud mas soubor s prihodnym odradkovanim, tak treba nacist radku a vyseknout ono cislo?
Trida BufferedReader ma metodu ReadLine vracejici String - celou radku. Splitnes ho a pozici ktera te zajima prevedes na, predpokladam, integer.
Re: Java - načtení čísla ze souboru
Napsal: pon 19. pro 2011, 05:25
od muliku
To jsi mi moc nepomohl

zas takovej programator nejsem, a rozumim tomu jak koza petrzeli... Nevedel by si spis jak to primo napsat?

Re: Java - načtení čísla ze souboru
Napsal: pon 19. pro 2011, 10:47
od W3N4
Nejaka takovato metoda by mela (pokud tam nemam chybu) umet prevest obsah nejakeho souboru na string:
Kód: Vybrat vše
public static String convertResourceToString(String path) {
StringBuilder sb = null;
InputStream is = null;
try {
is = new FileInputStream(path);
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
} catch (IOException e) {
} finally {
if (is != null) {
try {
is.close();
} catch (Exception e) {
}
}
}
return sb.toString();
}
Re: Java - načtení čísla ze souboru
Napsal: pon 19. pro 2011, 13:03
od Frky
Nebylo by lepší dát podmínku hasNextInt?
Re: Java - načtení čísla ze souboru
Napsal: pon 19. pro 2011, 16:26
od yuri.cs
muliku píše:To jsi mi moc nepomohl

zas takovej programator nejsem, a rozumim tomu jak koza petrzeli... Nevedel by si spis jak to primo napsat?

Na stribrnem podnose:
Kód: Vybrat vše
/**
* Pokusi se prevest cislo ze zvoleneho souboru na zvolene poczici na
* integer.
*
* @param path
* Cesta ke ctenemu souboru.
* @param delimiter
* Symbol oddelovace.
* @param position
* Poradi na radce rozdelene oddelovaci.
* @return Integer reprezenatace cisla.
* @throws Exception
* FNF, IOException a chyba prevodu na integer
*/
public static int getValueFromFile(final String path,
final String delimiter, final int position) throws Exception {
BufferedReader br = new BufferedReader(new FileReader(new File(path)));
String line = "";
String[] lineElements;
line = br.readLine();
br.close();
lineElements = line.split(delimiter);
return Integer.valueOf(lineElements[position]);
}
Priklad volani: getValueFromFile("res/data.dat", " ", 0); -> pokusi se vratit prvni cislo, ktere najde v souboru