我正在使用 FileInputStream 从类文件中读取字节,以便从中获取所有 4 个字符字符串(字符串是指与 ASCII 码中的字母或数字相对应的任何 4 个字节序列)。我想将它们保存在大小为 4 的临时数组(或 ArrayLists)中,然后将它们放入一个更大的 ArrayList 中。但是,我坚持将读取的字节(FileInputStream 返回我的 int,它是字节的十进制值)再次转换为字节,以便使用 String 构造函数( String(byte[] bytes) )。
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);
}
}
所以,我的问题是如何将那些读取的整数再次转换为字节。请原谅我糟糕的英语,如果您不明白我的问题,请要求更多翻译。