• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wczytywanie pliku JAVA

Object Storage Arubacloud
0 głosów
183 wizyt
pytanie zadane 27 maja 2020 w Java przez danielo665 Obywatel (1,040 p.)

Witam,

Przedstawię mój kod:

/*
Zapisywanie do pliku z konsoli
*/

import java.io.*;
import java.util.ArrayList;

public class Solution {
    public static void main(String[] args) throws IOException {
        ArrayList<String> lista = new ArrayList<>();

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String fileName = reader.readLine();
        FileWriter fileWriter = new FileWriter(fileName);
        BufferedWriter writer = new BufferedWriter(fileWriter);

        String line = "";
        try{

            while(!"exit".equals(line)){
                line = reader.readLine();
                System.out.println("Wprowadzony wyraz to : "+ line);
                lista.add(line);

            }
            System.out.println("Koniec wczytywania danych");
        }
        catch(Exception e){
            System.out.println("Bład podczas odczytu strumienia");
        }

        for(int i = 0; i < lista.size(); i++){
            System.out.println(lista.get(i));
        }
        writer.close();
    }
}

A teraz 

Wyświetla mi się punkt:

 - Program musi zapisywać absolutnie wszystkie wprowadzone linie (łącznie z "exit") do pliku, każdą w nowej linii.

Hmm według mnie już tak jest ale widocznie się mylę proszę o wskazówki.

 

2 odpowiedzi

0 głosów
odpowiedź 28 maja 2020 przez mbabane Szeryf (79,280 p.)
wybrane 28 maja 2020 przez danielo665
 
Najlepsza
A która linia odpowiada za zapis do pliku?
0 głosów
odpowiedź 27 maja 2020 przez mibdbz Gaduła (4,300 p.)
Cześć.

A spróbuj wcześniej zamknąć writer. Np dodaj blok finally I w nim zamknij a potem dopiero sprawdź co masz w liście. Albo w miejscu gdzie masz prntln koniec wprowadzania danych.
komentarz 27 maja 2020 przez danielo665 Obywatel (1,040 p.)

hmmm dałem zamkniecie writera tam gdzie się wyświetla 

System.out.println("Koniec wczytywania danych");

Ale to nie rozwiązuje zagadki podobnie jak blok finaly efekt jest ten sam

        catch(Exception e){
            System.out.println("Bład podczas odczytu strumienia");
        }
        finally {
            writer.close();
        }

        for(int i = 0; i < lista.size(); i++){
            System.out.println(lista.get(i));
        }
    }
}

znaczy najpierw w prntln a pozniej blok

Podobne pytania

0 głosów
1 odpowiedź 313 wizyt
pytanie zadane 15 marca 2021 w Java przez Beginner555 Obywatel (1,760 p.)
0 głosów
2 odpowiedzi 578 wizyt
pytanie zadane 9 maja 2019 w Java przez bastek Nowicjusz (190 p.)
0 głosów
1 odpowiedź 227 wizyt
pytanie zadane 21 lutego 2020 w Java przez Karolus Użytkownik (510 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...