cassandra row fetch 给出了垃圾字符
Posted
技术标签:
【中文标题】cassandra row fetch 给出了垃圾字符【英文标题】:cassandra row fetch gives junk characters 【发布时间】:2015-04-20 05:44:52 【问题描述】:正在学习 Cassandra,并编写了一个可以从数据库读取文件的 restclient。
下面是我从数据库中检索数据的代码。
ResultSet rs = getFile(fileName);
Row row=rs.one();
ByteBuffer filecontent =row.getBytes("file_content");
byte[] data = new byte[filecontent.remaining()];
ByteBuffer bb = filecontent.get(data);
String filelocation = row.getString("file_location");
String filename = row.getString("filename");
ByteArrayInputStream filecontentfromDB= new ByteArrayInputStream(bb.array());
File file=writeToFile(filecontentfromDB,fileName);
if (rs == null)
return null;
return file;
当我查看返回的文件时,我发现开头有一些垃圾字符,然后是我的文件内容。
请帮我删除垃圾数据
【问题讨论】:
【参考方案1】:Yipee,找到了解决方案,下面的行应该被替换
String filelocation = row.getString("file_location");
String filename = row.getString("filename");
ByteArrayInputStream filecontentfromDB= new ByteArrayInputStream(bb.array());
与
String filelocation = row.getString("file_location");
String filename = row.getString("filename");
String bb = new String(filecontent.array(), filecontent.arrayOffset() + filecontent.position(), filecontent.remaining());
ByteArrayInputStream filecontentfromDB= new ByteArrayInputStream(bb.getBytes());
它有效。
【讨论】:
以上是关于cassandra row fetch 给出了垃圾字符的主要内容,如果未能解决你的问题,请参考以下文章
PHP中mysql_fetch_row()mysql_fetch_assoc()和mysql_fetch_array()的联系
mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数1是资源
使用mysql_fetch_row()函数逐行获取结果集中的每条记录
mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc区别