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 :lol: 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 :lol: 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