non credo che questo è possibile per i seguenti motivi:
- Come si scrive un file senza "lettura" vero?
- Avrete bisogno di leggere nel testo per sapere dove è un limite di carattere (la codifica non è necessariamente 1 byte). Ciò significa che non è possibile trattare il file come binario.
Non è davvero possibile leggere riga per riga e elaborarlo in quel modo? Ciò consente anche di risparmiare spazio aggiuntivo che i file divisi occuperanno insieme all'originale. Per voi riferimento, la lettura di un file di testo è semplicemente:
public static void loadFileFromInputStream(InputStream in) throws IOException {
BufferedReader inputStream = new BufferedReader(new InputStreamReader(in));
String record = inputStream.readLine();
while (record != null) {
// do something with the record
// ...
record = inputStream.readLine();
}
}
Stai solo leggendo una riga alla volta ... quindi la dimensione del file non influisce sulle prestazioni a tutti. Puoi anche fermarti ogni volta che devi. Se sei avventuroso puoi anche aggiungere le linee per separare i thread per accelerare l'elaborazione. In questo modo, IO può continuare a sfornare mentre elabori i tuoi dati.
Buona fortuna! Se, per qualche ragione, trovi una soluzione, per favore pubblica qui. Grazie!
fonte
2011-11-24 11:34:46
proposto tag "file" –