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