1

Java(Android)で記述されたコードの一部をC#(Mono for android)に移動しようとしていますが、これを行う方法を見つけるのに行き詰まっています。Javaのコードの一部は次のとおりです。

private Bitmap decodeFile(File f){
     try {
        BitmapFactory.Options o = new BitmapFactory.Options();
        o.inJustDecodeBounds = true;
        BitmapFactory.decodeStream(new FileInputStream(f), null, o);
     ...
     } catch(FileNotFoundException ex){
     }

正確には、 DecodeStreamの最初のパラメーターで必要とされるようにからJava.IO.Fileに変換することが私の問題です。このステートメントはどのように書き直す必要がありますか?System.IO.Stream

4

1 に答える 1

2

私は通常、静的な System.File メソッドを使用して、対応する FileStream を取得します。

var stream = File.OpenRead("PathToFile")

あなたの場合、Java にある「ファイル」クラスを取り除く必要があります。ファイルは .NET の静的クラスです。パスを直接(文字列として)decodeFile 関数に渡すことはできますか?

 private Bitmap decodeFile(string f){
 try {
    var o = new BitmapFactory.Options();
    o.inJustDecodeBounds = true;
    using (var stream = File.OpenRead(f)) {
      BitmapFactory.decodeStream(stream, null, o);
    ...
    }
 } catch(FileNotFoundException ex){
 }
于 2013-01-28T13:25:30.773 に答える