Java: das Lesen von bytes aus einem .txt-Datei ZEILE für ZEILE

Bitte haben Sie einen Blick auf den folgenden code

    import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class FileCopy2
{    public static void main(String[]args) 
    {        
        try
        {

              //First in here, we are trying to get the bytes from the file


        File file = new File("D:/burn/preview.mp3"); //The File you need to get

        byte bufferFile[] = new byte[(int)file.length()]; //Creating a byte array, which has the exact size of the file

        BufferedInputStream bi = new BufferedInputStream(new FileInputStream(file));//Creating Buffers for IO

        bi.read(bufferFile, 0, bufferFile.length);//Reading the file

        bi.close();//Closing Buffer




        //Then in here, we are writing those bytes to a text file

        BufferedOutputStream bu = new BufferedOutputStream(new FileOutputStream("C:/Users/Yohan/Desktop/test.txt")); //The output Location
        bu.write(bufferFile, 0, bufferFile.length);//Writing the file
        bu.flush();//Flushing the buffer
        bu.close();//Closing the Buffer

        System.out.println("Done Copieng");



        //Here we are trying to WRITE number of .txt files containing the byte details..In other words, I am breaking the file into peaces

        BufferedReader br = new BufferedReader(new FileReader("C:/Users/Yohan/Desktop/test.txt"));
        BufferedWriter bw = null;

        String content = "";
        int count = 1;
        while((content = br.readLine())!=null)
        {

            bw = new BufferedWriter(new FileWriter("C:/Users/Yohan/Desktop/output4/file"+count+".txt"));
            bw.write(content);
            bw.flush();
            bw.close();


            count++;
            System.out.println("Running");

        }
        System.out.println("-----------------------Done-----------------------------");



            //NOW I NEED TO read all the generated .txt file and create the original file back. How to do it? //
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

Dort, zuerst bekomme ich die bytes einer Datei, und schreiben Sie Sie in eine Textdatei. Dann habe ich gelesen, dass die text-Datei, liest Zeile für Zeile aus, und generieren Sie eine separate .txt-Datei für jede Zeile. Jetzt das ursprüngliche Programm ist aufgeteilt in Tausende von Dateien. Jetzt muss ich alle Lesen die .txt-Dateien und re-generieren .txt-Datei. Ich weiß nicht, wie zu tun, die Letzte Sache. Wie kann ich das tun? Bitte um Hilfe!!

  • Dieses Programm macht keinen Sinn. Eine mp3-Datei enthält binäre Daten, die nicht textuellen Daten. Es macht keinen Sinn, zu schreiben und zu Lesen als text. Darüber hinaus haben Sie absolut keine Garantie, dass Sie alle Lesen die Datei, da Sie ignorieren das Ergebnis der read () - Aufruf, und nicht als Schleife wiedergegeben, bis Sie alles gelesen habe. Und schließlich, Sie nicht schließen Sie Ihre streams im finally-Blöcken. Google nach "Java-IO-tutorial".
  • Was sind Ihre Antworten?
  • Ich weiß, es enthält binäre Daten und das ist, warum ich bekam den bytes. Wenn Sie ändern die Parameter-Datei (was bedeutet, geben ""C:/Users/Yohan/Desktop/test.txt" auf den ersten block und "D:/burn/preview.mp3" auf den zweiten block), die nach der Ausführung dieser code zuerst. Es regeneriert die original-Datei, ich habe es getestet und es funktionierte die ganze Zeit. Bitte seien Sie freundlich genug, zu beantworten, wenn man weiß,
  • Nur weil Sie verwandeln jede codierte Zeichenfolge in eine Sequenz von bytes, bedeutet nicht, Sie verwandeln können, die eine Folge von byte-in eine gültige codierte Zeichenfolge. Ihr Programm macht keinen Sinn, und es gibt keine gültige Antwort auf Ihre Frage. Angenommen, Ihre Codierung ist der ASCII -, die Auffassung, alle bytes von 128 bis 255, wie ungültige Zeichen. Sind Sie versuchen, um eine mp3-Datei, die enthält solche bytes in ASCII, und Sie verlieren damit die Hälfte des bytes, die Ihrer mp3-Datei.
  • Wenn Sie änderungen an der Spezifikation zu text-Datei, die nur für Sie beide-Eingang & Ausgang, die Menschen könnten Antworten liefern. Auch angesichts der Tatsache, dass das, was Sie tun würde, macht wenig Sinn. Warum zerlegen einer Datei in jeder Zeile, nur um wieder neu zusammensetzen? Was Programm-Funktion, die Sie versuchen zu bieten, durch alle diese Bemühungen?
  • Alle richtigen Jungs, Das ist, was ich versuche zu tun. Ich bin versucht zu brechen, eine bestimmte Datei in die Zahl der kleinen Stücke. Wenn meine Methode falsch ist, bitte sein so freundlich, um mich auf den richtigen Pfad. Bitte helfen.. ich brauche Eure expertise, wissen, um meine Kenntnisse zu mächtig.

InformationsquelleAutor PeakGen | 2012-06-02
Schreibe einen Kommentar