Sto provando a ricevere un enorme file di testo come inputstream e voglio convertire un segmento di stringa con un'altra stringa. Sono strettamente confuso su come farlo, funziona bene se converto l'intero inputstream come una stringa che non voglio in quanto alcuni dei contenuti sono persi. qualcuno può per favore aiutare come farlo ?? ad es. se ho un file che ha il contenuto "Questa è la stringa di test che deve essere modificata". Voglio accettare questa stringa come flusso di input e voglio modificare il contenuto in "Questa è la stringa di test che viene modificata", (sostituendo "deve essere" con is).sostituisce un segmento di stringa dal flusso di input
public static void main(String[] args) {
String string = "This is the test string which needs to be modified";
InputStream inpstr = new ByteArrayInputStream(string.getBytes());
//Code to do
}
In questo voglio l'uscita come: Questa è la stringa di testo che viene modificato
Grazie in anticipo.
avevo letto il flusso di input in linee (throuh un BufferedReader) ed eseguire sostituzione su un'intera riga prima di inviare all'output. Più elegante, sottoclasse il mio WholeLineChangerInputStream da BufferedReader, sovrascrivi il metodo readLine() (applicando la sostituzione) e usalo ^^ – BigMike
Fondamentalmente hai bisogno di questo: http://tutorials.jenkov.com/java-howto/replace-strings- in-streams-array-files.html e quindi applicarlo a un inputstream – bvdb