EOF nefunguje ve formátu datové soubory, a uložit hodnotu

0

Otázka

    public static void main(String[] args) throws IOException {
    InputStream istream;        
    int c;
    final int EOF = -1;
    istream = System.in; 
    FileWriter outFile =  new FileWriter("C:/Users/boamb/Documents/NetBeansProjects/DSA_BSE20BFT/src/week7/Data.txt",true);
    BufferedWriter bWriter = new BufferedWriter(outFile);
    System.out.println("Enter fruits to store in data File – Press Ctrl+Z to end ");    
    while ((c = istream.read()) != EOF)
    bWriter.write(c);
    bWriter.close();
    }

Ahoj všichni, já se snažím chcete-li vložit data do souboru prostřednictvím systému výstup v NETBEANS IDE, ale problém je, když jsem kláves CTRL+Z nefunguje, program stále běží a když jsem se zastavit ručně, nejsou tam žádné data uložená v souboru. Tohle je můj kus kódu.

data-files data-structures java netbeans
2021-11-24 06:11:15
1

Nejlepší odpověď

0

Skutečně nechápu, jaký je důvod, proč se spoléhat na EOF, když vaše logika říká, že "Enter ovoce". Mám na mysli, měli byste si přečíst řetězec, nikoli jako byte-by-byte a v tomto případě terminator bude také nějaký řetězec hodnotu, "end" například:

public static void main( String[] args ) throws IOException{
    BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
    FileWriter outFile = new FileWriter( "C:/Users/boamb/Documents/NetBeansProjects/DSA_BSE20BFT/src/week7/Data.txt", true );
    try ( BufferedWriter bWriter = new BufferedWriter( outFile ); ){
        String line;
        while( true ){
            System.out.println( "Enter fruits to store in data File – Enter 'end' to end " );
            line = br.readLine();
            if( "end".equals( line ) ){
                break;
            }
            bWriter.write( line );
            bWriter.newLine();
        }
        bWriter.flush();
    }
}
2021-12-01 09:38:51

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................