我想从服务器读取文件并获取其中的数据。如何从服务器中的字节数组中读取数据
我写了下面这段代码。
URL uurl = new URL(this.m_FilePath);
BufferedReader in = new BufferedReader(new InputStreamReader(uurl.openStream()));
String str;
while ((str = in.readLine()) != null) {
text_file=text_file+str;
text_file=text_file+"\n";
}
m_byteVertexBuffer=text_file.getBytes();
但是我得到错误的结果!如果我从字符串读取数据,我得到m_bytevertexbuffer长度= 249664。
现在,当我读取一个本地文件到bytearray然后我得到m_bytevertexbuffer长度= 169332。
FileInputStream fis = new FileInputStream(VertexFile);
fis.read(m_byteVertexBuffer);
ByteBuffer dlb=null;
int l=m_byteVertexBuffer.length;
我想从服务器和本地文件的bytebuffer中获得相同的数据!
要读取字节,请从InputStream中读取,并且不要用Reader包装它。你的第二段代码没有意义:它打印出一个字节数组的长度,无论你是否从文件中读取,它都是相同的。阅读Java IO教程:http://docs.oracle.com/javase/tutorial/essential/io/bytestreams.html –
总之,我想问我应该如何读取放置在服务器中的二进制文件? –