1

FileInputStream を使用して、クラス ファイルからバイトを読み取り、4 文字すべての文字列を取得します (文字列とは、ASCII コードの文字または数字に対応する 4 バイトのシーケンスを意味します)。それらをサイズ 4 の一時配列 (または ArrayList) に保存してから、それらを 1 つのより大きな ArrayList にスローします。ただし、文字列コンストラクター ( String(byte[] bytes) ) を使用するために、読み取ったバイト (FileInputStream はバイトの 10 進数値である int を返します) を再度バイトに変換することに固執しました。

public static void main(String[] args){
    ArrayList<String> dozapisu = new ArrayList<String>();
    ArrayList<Byte> temp = new ArrayList<Byte>();
    int c;
    File klasowe = new File("C:/Desktop/do testu/Kalendarz.class");
    try{
        FileInputStream fis = new FileInputStream(klasowe);
        while((c=fis.read()) != -1){
            if((c >= 48 && c <= 57) || (c >= 65 && c <= 90) || (c >= 97 && c <= 122)){
                temp.add(new Byte((byte) c));
            }else{
                if(temp.size()==4){
                //  dozapisu.add(*/How should I add them?/*);
                }
            }
        }


        fis.close();
    }catch(IOException exc) {
        System.out.println(exc.toString());
        System.exit(1);
    } 
}

だから、私の質問は、それらの読み込んだ整数を再びバイトにキャストする方法です。私のくだらない英語を許してください。私の質問が理解できない場合は、さらに翻訳を依頼してください。

4

1 に答える 1