如何将带有字符串内容的文件转换为包含字节内容的文件?

时间:2014-11-21 18:43:58

标签: java string file bytearray

我编写了以下代码将字符串文件转换为字节数据文件。但输入文件和输出文件是相同的。我的代码有什么问题。

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Iterator;
import java.util.stream.Stream;


public class StringToBytes {


 private static void convertor(Stream<String> input) throws IOException
 {

     File file = new File("byteTest.txt");
        BufferedOutputStream writer = new BufferedOutputStream(new FileOutputStream(file));

    Iterator<String> it= input.iterator();

    while (it.hasNext())
    {
        byte []b= it.next().getBytes();
        writer.write(b);

    }
    writer.close();
}

public static void main(String args[]) throws IOException{
    Path path= Paths.get("test.txt");

    Stream<String>lines=Files.lines(path, StandardCharsets.UTF_8);
    convertor(lines);
}
}

我的输入文件的内容是:

San Francisco, officially the City and County of San Francisco, is the cultural center and a leading financial hub of the San Francisco Bay Area and Northern California. 
The only consolidated city-county in California

我希望输出(byteTest.txt)文件有类似

的内容
[B@2dda6444 

而输出文件的内容与输入文件相同。

1 个答案:

答案 0 :(得分:0)

您实际上是在复制文件的内容......如果您复制/粘贴文件,您将获得通常获得的内容(每个ASCII字符都是一个字节)

如果您的目标是压缩文件,那么现在您的文件可以紧密包装,而不会在其上运行实际的压缩算法。