BUDAへのファイルの追加

BUDAへファイルを追加するサンプルコードである。
本サンプルコードではBUDAに対して以下のパスでファイルを追加し、その後、実際にファイルが追加されていることを確認するためにディレクトリの内容を表示する。
  • <bluray.bindingunit.root> / <organization_id> / <disc_id> / BUDA.test
  • <bluray.bindingunit.root> / <organization_id> / BUDA.test2

 

本サンプルコードが意図したとおりに動作するために必要な条件は以下のとおりである。

 

Main.java

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.io.File;
import javax.tv.xlet.Xlet;
import javax.tv.xlet.XletContext;
import org.bluray.ti.DiscManager;
import org.havi.ui.HScene;
import org.havi.ui.HSceneFactory;
import org.havi.ui.HScreen;
 
public class Main implements Xlet{
    int x = 100, y = 100;
    public void initXlet(XletContext context){
        Graphics g = null;
        try {
            Font font = new Font(null, java.awt.Font.BOLD, 48);
            HScene hs= HSceneFactory.getInstance().getFullScreenScene(
                    HScreen.getDefaultHScreen().getDefaultHGraphicsDevice());
            hs.setFont(font);
            hs.setVisible(true);
            g = hs.getGraphics();
            g.setColor(Color.white);
            /* BUDA */
            String buda_root = System.getProperty("bluray.bindingunit.root");
            String orgID = (String) context.getXletProperty("dvb.org.id");
            String discID = DiscManager.getDiscManager().getCurrentDisc().getId();
            // BUDA内にファイル作成
            File file = new File(buda_root+File.separator+orgID+File.separator+discID+File.separator+"BUDA.test");
            file.createNewFile();
            File file2 = new File(buda_root+File.separator+orgID+File.separator+"BUDA.test2");
            file2.createNewFile();
 
            // <disc_id>ディレクトリの下のファイルを表示
            File dir = new File(buda_root+File.separator+orgID+File.separator+discID);
            String[] flist = dir.list();
            String s = "Files under /"+orgID+"/"+discID+"/: ";
            for( int i = 0; i < flist.length; i++ ){
                s += (flist[i]+" ");
            }
            g.drawString(s, x, y); y+=50;
 
            // <organization_id>ディレクトリの下のファイルを表示
            dir = new File(buda_root+File.separator+orgID);
            flist = dir.list();
            s = "Files under /"+orgID+"/: ";
            for( int i = 0; i < flist.length; i++ ){
                s += (flist[i]+" ");
            }
            g.drawString(s, x, y); y+=50;
        } catch (Throwable thr){
        }
 
    }
    public void startXlet(){    }
    public void pauseXlet(){    }
    public void destroyXlet(boolean unconditional){}
}

関連する項目

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください