我定义了三个字符串,这三个字符串是存放文件名(文件名的长度不会超过100个字节)用的,要求每个字符串的长度为定长(即100个字节),然后把三个字符串顺序写入一个流中(在流中第一个字符串占前100个字节,然后第二个字符串、第三个字符串依次类推,都是占100个字节的长度),最后把流存到SQL Server数据库表中的一个image字段中。请各位大虾帮我看看怎么实现,万分谢谢。

解决方案 »

  1.   

    String s1="...";
    byte[] b1=s1.getBytes();
    byte[] b=new byte[300];
    System.arraycopy(b1,0,b,0,b1.length);
    System.arraycopy(b2,0,b,100,b2.length);
    System.arraycopy(b3,0,b,200,b3.length);
    //将b写入image字段
    如果只是这样,读取的时候有点麻烦,要忽略每100字节数据中为0值的字节。
    或者你可以在写入每个字符串之前写入此字符串的长度
      

  2.   

    如果这样写,字符串的结束符在字符串转化为byte b[]的时候是不是已经没有了??
      

  3.   

    flyxxxxx(灭神)你好,我要是把存入数据库中的流顺序按100个字节往外读的话,会不会有什么问题,麻烦你个详细说明一下,谢谢
      

  4.   

    byte[] b=new byte[100];//读到的数据int k=99;
    for(;k>-1;k--){
      if(b[k]!=0){
        break;
      }
    }
    String s=new String(b,0,k+1);//最初写入的字符串