Java - práce se soubory

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

joudar11
Level 1.5
Level 1.5
Příspěvky: 102
Registrován: září 12
Pohlaví: Muž
Stav:
Offline
Kontakt:

Java - práce se soubory

Příspěvekod joudar11 » 13 kvě 2013 17:04

Ahoj, dělám ročníkovku a znějákého důvodu se mi soubory nevytvářejí a nenačítají. Prosím o radu :(

Kód: Vybrat vše

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in).useDelimiter("\n");
        char cipher, code;
        boolean again;
        do {
            do {
                System.out.println("Vyberte šifru");
                System.out.println("1 - Caesarova šifra");
                System.out.println("2 - Railfence");
                cipher = scanner.next().trim().charAt(0);
                again = cipher != '1' && cipher != '2';
                if (again) {
                    System.out.println("Zadejte prosím možnost dle výběru");
                }
            } while (again);
            System.out.println();
            do {
                System.out.println("Vyberte činnost");
                System.out.println("1 - Zašifrovat");
                System.out.println("2 - Dešifrovat");
                code = scanner.next().trim().charAt(0);
                again = code != '1' && code != '2';
                if (again) {
                    System.out.println("Zadejte prosím možnost dle výběru");
                }
            } while (again);
            System.out.println();
            String temp;
            do {
                System.out.print("Zadejte ");
                if (cipher == '1') {
                    System.out.println("velikost posunu");
                } else {
                    System.out.println("počet kolejí");
                }
                temp = scanner.next().trim();
                again = false;
                for (char ch : temp.toCharArray()) {
                    if (!Character.isDigit(ch)) {
                        again = true;
                        break;
                    }
                }
                if (again) {
                    System.out.println("Zadejte prosím celočíselnou hodnotu");
                }
            } while (again);
            int number = Integer.valueOf(temp).intValue();
//Nesahat na to, co je nahoře!

            char inputF;
            do {
                System.out.print("Chcete ");
                if (code == '1') {
                    System.out.print("zprávu");
                } else {
                    System.out.print("šifru");
                }
                System.out.println(" zadat, nebo načíst ze souboru?");
                System.out.println("1 - Zadat");
                System.out.println("2 - Načíst");

                inputF = scanner.next().trim().charAt(0);

                again = inputF != '1' && inputF != '2';
                if (again) {
                    System.out.println("Zadejte správnou hodnotu");
                }
            } while (again);

            String string = "";

            if (inputF == '1') {
                System.out.println();
                System.out.print("Zadejte ");
                if (code == '1') {
                    System.out.println("zprávu");
                } else {
                    System.out.println("šifru");
                }
                string = scanner.next();
            } else {
//Tady bude to načtení souboru do stringu "string".

                String nacteno = "";
                try {
                    System.out.println("Umístěte soubor do složky, ve které se nachází šifrix a napište jeho název (Např.: sifra.txt)");
                    String fileName = scanner.next();
                    Scanner soubor = new Scanner(new File(fileName));
                    while (soubor.hasNext()) {
                        String line = soubor.nextLine();
                        nacteno = nacteno + line;
                    }
                } catch (Exception e) {
                    System.out.println("Chyba při otevírání souboru");
                    nacteno = "Nefunguje to";
                }


                System.out.println(nacteno);
            }





            if (code == '1') {
                if (cipher == '1') {
                    string = caesarEncode(string, number);
                } else {
                    string = railFenceEncode(string, number);
                }
            } else {
                if (cipher == '1') {
                    string = caesarDecode(string, number);
                } else {
                    string = railFenceDecode(string, number);
                }
            }
            System.out.println();
            System.out.println("Výsledek: ");
            System.out.println(string);

            //Ukládání
            char save;
            do {
                System.out.println("Přejete si šifru uložit do souboru?");
                System.out.println("1 - Ano");
                System.out.println("2 - Ne");
                save = scanner.next().trim().charAt(0);
                again = save != '1' && save != '2';
                if (again) {
                    System.out.println("Zadej to správně");
                }
            } while (again);

            if (save == '1') {
                System.out.println("Výsledek bude uložen do souboru vysledek.txt");
                try {
                    PrintWriter zapsat = new PrintWriter(new FileWriter("vysledek.txt"));
                    zapsat.println(string);
                    zapsat.close();
                } catch (Exception e) {
                    //Catch exception if any
                    System.err.println("Chyba: " + e.getMessage());
                }





            } else {
                System.out.println("Fajn. Nemusíme ukládat.");
            }
            //konec ukládání



            char repeat;
            do {
                System.out.println("Znovu?");
                System.out.println("1 - Ano");
                System.out.println("2 - Ne");
                repeat = scanner.next().trim().charAt(0);
                again = repeat != '1' && repeat != '2';
                if (again) {
                    System.out.println("Zadejte prosím možnost dle výběru");
                }
            } while (again);
            again = repeat == '1';
            System.out.println();
        } while (again);
        System.exit(0);
    }

Reklama
  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Notebook pro kancelářské práce
    od Bulit.Sven » 11 srp 2024 13:06 » v Rady s výběrem hw a sestavením PC
    4
    1576
    od meda2016 Zobrazit poslední příspěvek
    11 srp 2024 18:18
  • Herní PC do 18 000 Kč – WoW, PoE2?, běžná práce, stará sestava nejspíš odešla
    od MoA285 » 25 kvě 2025 21:47 » v Rady s výběrem hw a sestavením PC
    5
    1480
    od windroid2 Zobrazit poslední příspěvek
    26 kvě 2025 08:51
  • Soubory ve složkách na externím HDD se nezobrazují
    od Ghoust23 » 12 led 2025 20:40 » v Problémy s hardwarem
    7
    3176
    od petr22 Zobrazit poslední příspěvek
    14 led 2025 12:27
  • eqkes = nejdou otevřít soubory (jpg, doc, xls...) Příloha(y)
    od pajauh » 11 srp 2024 10:58 » v Vše ostatní (bezp)
    8
    9227
    od pajauh Zobrazit poslední příspěvek
    24 zář 2024 18:07
  • Flash disk - soubory nelze přehrát
    od Kincl6 » 18 pro 2024 21:13 » v Vše ostatní (hw)
    3
    3714
    od buchtik Zobrazit poslední příspěvek
    19 pro 2024 12:16

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Seznam[Bot] a 0 hostů