2009-08-29 4 views
1

私は準備が整ったビットマップイメージを持っています。今私は&を削除して保存します。私の代わりにBlackberry Stormでビットマップイメージを保存して削除する方法は?

"file:///store/home/user/StoredBitmap/"+picIndex+".bmp" 

私が作成したビットマップを持っているの与えるためにパスブラックベリーストームデバイス&シミュレータについては、...のような

FileConnection fconn = (FileConnection)Connector.open("file:///store/home/user/StoredBitmap/"+picIndex+".bmp",Connector.READ_WRITE); 

     if(!fconn.exists()) 
      fconn.create(); 

     OutputStream out = fconn.openOutputStream(); 

     if(image == null) 
      System.out.println(" image null "); 
     else 
     { 
      out.write(byte[]); 
      out.close(); 
     } 

     fconn.close(); 

をやってmを。 outputStreamでは、それを書く方法は?

ブラックベリー4.7(バージョン:4.7.0.41)を使用しています。そのシミュレータで、どのようにビットマップを保存するには?私はブラックベリーストームのためにやっている。

&そのビットマップを削除するには、Fileクラスを使用するか、FileConnectionクラスを使用できますか?

答えて

4

class Scr extends MainScreen implements FieldChangeListener { 
    ButtonField mWrite; 
    ButtonField mRead; 
    ButtonField mDelete; 

    String mFileName = System.getProperty("fileconn.dir.photos") 
      + "test.bmp"; 

    public Scr() { 
     mWrite = new ButtonField("Write file", 
        ButtonField.CONSUME_CLICK); 
     add(mWrite); 
     mWrite.setChangeListener(this); 

     mRead = new ButtonField("Read file", 
        ButtonField.CONSUME_CLICK); 
     add(mRead); 
     mRead.setChangeListener(this); 

     mDelete = new ButtonField("Delete file", 
        ButtonField.CONSUME_CLICK); 
     add(mDelete); 
     mDelete.setChangeListener(this); 
    } 

    public void fieldChanged(Field field, int context) { 
     if (mWrite == field) { 
      byte[] bytes = new byte[] { 1, 2, 1, 1 }; 
      writeFile(bytes, mFileName); 
      Dialog.inform("File " + mFileName + " saved"); 
     } else if (mRead == field) { 
      byte[] bytes = readFile(mFileName); 
      if (null != bytes) 
       Dialog.inform("File " + mFileName + " opened"); 
     } else if (mDelete == field) { 
      deleteFile(mFileName); 
      Dialog.inform("File " + mFileName + " deleted"); 
     } 

    } 

    private void writeFile(byte[] data, String fileName) { 
     FileConnection fconn = null; 
     try { 
      fconn = (FileConnection) Connector.open(fileName, 
        Connector.READ_WRITE); 
     } catch (IOException e) { 
      System.out.print("Error opening file"); 
     } 

     if (fconn.exists()) 
      try { 
       fconn.delete(); 
      } catch (IOException e) { 
       System.out.print("Error deleting file"); 
      } 
     try { 
      fconn.create(); 
     } catch (IOException e) { 
      System.out.print("Error creating file"); 
     } 
     OutputStream out = null; 
     try { 
      out = fconn.openOutputStream(); 
     } catch (IOException e) { 
      System.out.print("Error opening output stream"); 
     } 

     try { 
      out.write(data); 
     } catch (IOException e) { 
      System.out.print("Error writing to output stream"); 
     } 

     try { 
      fconn.close(); 
     } catch (IOException e) { 
      System.out.print("Error closing file"); 
     } 
    } 

    private byte[] readFile(String fileName) { 
     byte[] result = null; 
     FileConnection fconn = null; 
     try { 
      fconn = (FileConnection) Connector.open(fileName, 
          Connector.READ); 
     } catch (IOException e) { 
      System.out.print("Error opening file"); 
     } 

     if (!fconn.exists()) { 
      Dialog.inform("file not exist"); 
     } else { 

      InputStream in = null; 
      ByteVector bytes = new ByteVector(); 
      try { 
       in = fconn.openInputStream(); 
      } catch (IOException e) { 
       System.out.print("Error opening input stream"); 
      } 

      try { 
       int c = in.read(); 
       while (-1 != c) { 
        bytes.addElement((byte) c); 
        c = in.read(); 
       } 
       result = bytes.getArray(); 
      } catch (IOException e) { 
       System.out.print("Error reading input stream"); 
      } 

      try { 
       fconn.close(); 
      } catch (IOException e) { 
       System.out.print("Error closing file"); 
      } 
     } 
     return result; 
    } 

    private void deleteFile(String fileName) { 
     FileConnection fconn = null; 
     try { 
      fconn = (FileConnection) Connector.open(fileName, 
        Connector.READ_WRITE); 
     } catch (IOException e) { 
      System.out.print("Error opening file"); 
     } 

     if (!fconn.exists()) { 
      Dialog.inform("file not exist"); 
     } else { 
      try { 
       fconn.delete(); 
      } catch (IOException e1) { 
       System.out.print("Error deleting file"); 
      } 

      try { 
       fconn.close(); 
      } catch (IOException e) { 
       System.out.print("Error closing file connection"); 
      } 
     } 
    } 
(削除読み取り/書き込み/)これを見てみましょう
関連する問題