Witam serdecznie mam następujący problem:
- chciałbym odczytać dane tekstowe z pliku *.txt;
- dane są w formie wierszy bez spacji i przecinków na końcu każdego wiersza jest enter;
- potrzebuje wydobyć z tego pliku wszystkie wiersze i umieścić w jednym długim String'u;
- jak pozbyć się enterów?
mam taki kod:
import java.io.*;
public class DNA {
public static void main (String args[]) throws Exception {
// nazwa pliku wejsciowego
String nazwaIn = "plik.txt";
// nazwa pliku wyjsciowego
String nazwaOut = "plik_out.txt";
// string odczytany z pliku
String dane = "";
// string zapisany do pliku
String daneOut = "";
int znak = 0;
// program czyta plik wejsciowy
System.out.println("Program czyta plik..." + '\n');
try{
// nowy strumień wejsciowy
FileInputStream wejscie = new FileInputStream(nazwaIn);
// wczytanie calego pliku do stringu
znak = wejscie.read();
while(znak != -1){
dane += (char) znak;
znak = wejscie.read();
}
wejscie.close();
}catch(IOException ex) {
System.out.println("Blad zwiazany z odczytem pliku. "+ex);
}
// petla konwertujaca
for(int i = 0; i<dane.length(); i++){
//jesli znak to \n to zamienia
if(dane.charAt(i) == '\n')
daneOut += "";
else
daneOut += dane.charAt(i);
}
System.out.println("Sekwencja z pliku: "+ daneOut);
}
}
na ekranie wyświetla mi się tylko pierwszy wiersz zamiast całego pliku co uniemożliwia mi prace na tych danych, myślałem o odczytaniu z pliku poszczególnych linii do stringów a potem o połączeniu tych stringow w jeden ale to chyba głupie.
Pozdrawiam, Marcin