# Reader / Writer Problem



## Shoox (23. Sep 2010)

Hi an alle

heute hab ichs aber mit den Fragen ^^
also ich hab ein Problem mit meinem kleinen Programm. Hier mal der relevante Code-Ausschnitt:


```
public void copyTo(String directory, String filename, String newDirectory) throws Exception {
      if (sftpChannel.isConnected()){
         try{
            sftpChannel.cd(directory);
            Vector v = sftpChannel.ls(directory);
            for (int i = 0; i < v.size(); i++){
               String text = v.get(i).toString();
               if (text.contains(filename)){
                  text = text.substring(text.indexOf(filename));
                  BufferedWriter writer = new BufferedWriter(new FileWriter(new File(newDirectory + text)));
                  BufferedReader reader = new BufferedReader(new InputStreamReader(sftpChannel.get(text)));
                  String line;
                  while ((line = reader.readLine()) != null){
                     writer.write(line);
                     writer.newLine();
                     
                  }
               }
            }
         }catch (Exception e){
            e.printStackTrace();
            //throw new Exception(e.getMessage());
         }
      }else{
         throw new Exception("Connection to SFTP not established!");
      }
   }
```

Mein Problem ist es nun, dass das File was ich mir hole anscheinend zu groß ist. Das Programm funktioniert ansich, nur wird das neue File nicht komplett geschrieben. Woran könnte der Fehler liegen?
Zur Information (weiß nicht ob das relevant ist) es werden ca. 71.000 von insgesamt mehr als 600.000 chars  ins neue file geschrieben...

Dank im vorraus,
Shoox


----------



## SlaterB (23. Sep 2010)

zwischen Zeile 17 und 18 gehört

writer.flush(); // das dürfte dein Problem sein
writer.close(); // auch nicht schlecht, sollte das flush() enthalten, reicht vielleicht für sich
reader.close(); // auch nicht schlecht


----------



## Shoox (23. Sep 2010)

Vielen Dank, hat das Problem gelöst =)


----------

