Program, który zamienia jeden ciąg bajtów danych na drugi i nadpisuje go w tym samym pliku.

0

Witam,
Chciałbym zapisac strumien wyjściowy do pliku o tej samej nazwie co wejsciowy(nadpisać plik) jednak po zapisie w pliku nic się nie znajduje. Gdy zapisuje do pliku o innej nazwie to wszystko działa. W jaki sposób mogę nadpisać plik?

package proejkt;


	

import java.io.*;


public class program{

   public static void main(String[] args) {
   	 DataInputStream baza = null;
       DataInputStream strumieńWejściowy = null;
       DataOutputStream strumieńWyjściowy = null;
       
  
  
       try {
       	baza = new DataInputStream(new FileInputStream("baza.txt"));
       	strumieńWejściowy = new DataInputStream(new FileInputStream("plik.txt"));
       	 strumieńWyjściowy = new DataOutputStream(new FileOutputStream("plik.txt"));
       	        	 
       } catch (FileNotFoundException e) {
           System.out.println("Nie znaleziono takiego pliku");
       }
      
    
       byte[] bufor = new byte[1024];
        
       try {   baza.read(bufor);            	
           	strumieńWyjściowy.write(bufor);                     
          
       } catch (IOException e) {
           System.out.println("Bład wejścia-wyjścia");
       }

       try {
       	if(baza != null) baza.close();
           if(strumieńWejściowy != null) strumieńWejściowy.close();
           if(strumieńWyjściowy != null) strumieńWyjściowy.close();
       } catch (IOException e) {
       	System.out.println("Błąd zamykania strumieni");
       }
       System.out.println("PLIK NADPISANO");
   }

}

1

Coś tu jest nie tak z tym kodem.
Po co Ci zmienna bufor?Z tego co widzę to czytasz baza.txt i zapisujesz w plik.txt.

0
matt_z napisał(a):

Coś tu jest nie tak z tym kodem.
Po co Ci zmienna bufor?Z tego co widzę to czytasz baza.txt i zapisujesz w plik.txt.

Juz poprawiłem kod. Działa tak jak chciałem. Dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1