游戏数据文件是bin格式的文件,用文本方式打开它有乱码现象,这该怎么解决?

关注让 “紫雾凌寒” 来帮你回答,本回答结合 DeepSeek
如果还有问题,请评论或点击头像私信,如果有帮助到您, 请关注、采纳、点赞
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class BinImageReader {
public static Bitmap readBinImage(String filePath) {
try {
File file = new File(filePath);
FileInputStream fis = new FileInputStream(file);
Bitmap bitmap = BitmapFactory.decodeStream(fis);
fis.close();
return bitmap;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
- **对于其他自定义格式的bin文件**:
- 如果是自定义格式,可能需要自己编写解析逻辑。假设bin文件的前4个字节存储了数据的长度,后面跟着实际的数据。可以这样解析:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class CustomBinReader {
public static byte[] readCustomBin(String filePath) {
try {
File file = new File(filePath);
FileInputStream fis = new FileInputStream(file);
byte[] lengthBytes = new byte[4];
fis.read(lengthBytes);
int length = ((lengthBytes[0] & 0xFF) << 24) | ((lengthBytes[1] & 0xFF) << 16) | ((lengthBytes[2] & 0xFF) << 8) | (lengthBytes[3] & 0xFF);
byte[] data = new byte[length];
fis.read(data);
fis.close();
return data;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
希望以上解答对您有所帮助。如果您有任何疑问,欢迎在评论区提出。