谢谢。。。
9 个解决方案
#1
资源文件二进制打包???
这个有什么好疑问的。
这个有什么好疑问的。
#2
自己设标志位,读到标志位就载入相应的资源,自己写个玩玩呗,不难。
#3
关键是怎么做?用什么做啊?具体步骤呢?????
谢谢。。。
谢谢。。。
#4
就是流文件啊,把一个图片的字节全部写进去,然后写你的标志位,再写文件再写标志位,如此重复,读的时候字节辨认标志位确定下来的一段时什么文件,多长之类的,自己确定。
#5
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
public class FileManager {
public static final String 工程路径="E:/eclipse/workspace/pupaClan_ImageToBin/src/";
public void serachFiles(String dir){
try{
File root = new File(dir);
File[] filesOrDirs = root.listFiles();
String[] result = new String[100];
for (int i = 0; i < filesOrDirs.length; i++){
if (filesOrDirs[i].isDirectory()){
serachFiles(filesOrDirs[i].getAbsolutePath());
} else{
result[i] = filesOrDirs[i].getName();
//为PNG文件
if(result[i].endsWith(".png")){
make_Bin(路径转化(filesOrDirs[i].getAbsolutePath().substring(工程路径.length())));
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
public String 路径转化(String from_Str){
String Str = from_Str;
String value="";
int ch=0;
while((ch=Str.indexOf("\\"))!=-1){
value=value+Str.substring(0,ch)+"/";
Str=Str.substring(ch+1,Str.length());
}
value=value+Str;
return value;
}
public static void make_Bin(String str){
try {
System.out.println("str="+str);
DataInputStream dis=new DataInputStream(Class.forName("java.lang.Object").getResourceAsStream("/"+str));
FileOutputStream fout = new FileOutputStream(工程路径+str.substring(0,str.indexOf(".png"))+".bin");
BufferedOutputStream bot = new BufferedOutputStream(fout);
DataOutputStream dout = new DataOutputStream(bot);
int ch;
while((ch=dis.read())!=-1){
dout.write(ch);
}
dout.flush();
fout.close();
dis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args){
FileManager fm = new FileManager();
fm.serachFiles("src/res");
}
}
加载就根据流来创建图.知道了吧
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
public class FileManager {
public static final String 工程路径="E:/eclipse/workspace/pupaClan_ImageToBin/src/";
public void serachFiles(String dir){
try{
File root = new File(dir);
File[] filesOrDirs = root.listFiles();
String[] result = new String[100];
for (int i = 0; i < filesOrDirs.length; i++){
if (filesOrDirs[i].isDirectory()){
serachFiles(filesOrDirs[i].getAbsolutePath());
} else{
result[i] = filesOrDirs[i].getName();
//为PNG文件
if(result[i].endsWith(".png")){
make_Bin(路径转化(filesOrDirs[i].getAbsolutePath().substring(工程路径.length())));
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
public String 路径转化(String from_Str){
String Str = from_Str;
String value="";
int ch=0;
while((ch=Str.indexOf("\\"))!=-1){
value=value+Str.substring(0,ch)+"/";
Str=Str.substring(ch+1,Str.length());
}
value=value+Str;
return value;
}
public static void make_Bin(String str){
try {
System.out.println("str="+str);
DataInputStream dis=new DataInputStream(Class.forName("java.lang.Object").getResourceAsStream("/"+str));
FileOutputStream fout = new FileOutputStream(工程路径+str.substring(0,str.indexOf(".png"))+".bin");
BufferedOutputStream bot = new BufferedOutputStream(fout);
DataOutputStream dout = new DataOutputStream(bot);
int ch;
while((ch=dis.read())!=-1){
dout.write(ch);
}
dout.flush();
fout.close();
dis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args){
FileManager fm = new FileManager();
fm.serachFiles("src/res");
}
}
加载就根据流来创建图.知道了吧
#6
是J2ME哦
#7
写法都是类似的.也是读取图片资源,然后写出二进制文件,
#8
类似如下的:
void WriteModule(RandomAccessFile fo, PrintStream ft)
throws Exception
{
int i, n = anim.modules.size();
Module mod;
fo.writeShort(n);
for(i = 0; i < n; i++)
{
mod = (Module)anim.modules.get(i);
fo.writeByte(mod.x);
fo.writeByte(mod.y);
fo.writeByte(mod.w);
fo.writeByte(mod.h);
}
}
读的时候当然就是按你写进时的格式来读了。
void WriteModule(RandomAccessFile fo, PrintStream ft)
throws Exception
{
int i, n = anim.modules.size();
Module mod;
fo.writeShort(n);
for(i = 0; i < n; i++)
{
mod = (Module)anim.modules.get(i);
fo.writeByte(mod.x);
fo.writeByte(mod.y);
fo.writeByte(mod.w);
fo.writeByte(mod.h);
}
}
读的时候当然就是按你写进时的格式来读了。
#9
使用工具BinCompiler。百度搜下即可。
#1
资源文件二进制打包???
这个有什么好疑问的。
这个有什么好疑问的。
#2
自己设标志位,读到标志位就载入相应的资源,自己写个玩玩呗,不难。
#3
关键是怎么做?用什么做啊?具体步骤呢?????
谢谢。。。
谢谢。。。
#4
就是流文件啊,把一个图片的字节全部写进去,然后写你的标志位,再写文件再写标志位,如此重复,读的时候字节辨认标志位确定下来的一段时什么文件,多长之类的,自己确定。
#5
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
public class FileManager {
public static final String 工程路径="E:/eclipse/workspace/pupaClan_ImageToBin/src/";
public void serachFiles(String dir){
try{
File root = new File(dir);
File[] filesOrDirs = root.listFiles();
String[] result = new String[100];
for (int i = 0; i < filesOrDirs.length; i++){
if (filesOrDirs[i].isDirectory()){
serachFiles(filesOrDirs[i].getAbsolutePath());
} else{
result[i] = filesOrDirs[i].getName();
//为PNG文件
if(result[i].endsWith(".png")){
make_Bin(路径转化(filesOrDirs[i].getAbsolutePath().substring(工程路径.length())));
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
public String 路径转化(String from_Str){
String Str = from_Str;
String value="";
int ch=0;
while((ch=Str.indexOf("\\"))!=-1){
value=value+Str.substring(0,ch)+"/";
Str=Str.substring(ch+1,Str.length());
}
value=value+Str;
return value;
}
public static void make_Bin(String str){
try {
System.out.println("str="+str);
DataInputStream dis=new DataInputStream(Class.forName("java.lang.Object").getResourceAsStream("/"+str));
FileOutputStream fout = new FileOutputStream(工程路径+str.substring(0,str.indexOf(".png"))+".bin");
BufferedOutputStream bot = new BufferedOutputStream(fout);
DataOutputStream dout = new DataOutputStream(bot);
int ch;
while((ch=dis.read())!=-1){
dout.write(ch);
}
dout.flush();
fout.close();
dis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args){
FileManager fm = new FileManager();
fm.serachFiles("src/res");
}
}
加载就根据流来创建图.知道了吧
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
public class FileManager {
public static final String 工程路径="E:/eclipse/workspace/pupaClan_ImageToBin/src/";
public void serachFiles(String dir){
try{
File root = new File(dir);
File[] filesOrDirs = root.listFiles();
String[] result = new String[100];
for (int i = 0; i < filesOrDirs.length; i++){
if (filesOrDirs[i].isDirectory()){
serachFiles(filesOrDirs[i].getAbsolutePath());
} else{
result[i] = filesOrDirs[i].getName();
//为PNG文件
if(result[i].endsWith(".png")){
make_Bin(路径转化(filesOrDirs[i].getAbsolutePath().substring(工程路径.length())));
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
public String 路径转化(String from_Str){
String Str = from_Str;
String value="";
int ch=0;
while((ch=Str.indexOf("\\"))!=-1){
value=value+Str.substring(0,ch)+"/";
Str=Str.substring(ch+1,Str.length());
}
value=value+Str;
return value;
}
public static void make_Bin(String str){
try {
System.out.println("str="+str);
DataInputStream dis=new DataInputStream(Class.forName("java.lang.Object").getResourceAsStream("/"+str));
FileOutputStream fout = new FileOutputStream(工程路径+str.substring(0,str.indexOf(".png"))+".bin");
BufferedOutputStream bot = new BufferedOutputStream(fout);
DataOutputStream dout = new DataOutputStream(bot);
int ch;
while((ch=dis.read())!=-1){
dout.write(ch);
}
dout.flush();
fout.close();
dis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args){
FileManager fm = new FileManager();
fm.serachFiles("src/res");
}
}
加载就根据流来创建图.知道了吧
#6
是J2ME哦
#7
写法都是类似的.也是读取图片资源,然后写出二进制文件,
#8
类似如下的:
void WriteModule(RandomAccessFile fo, PrintStream ft)
throws Exception
{
int i, n = anim.modules.size();
Module mod;
fo.writeShort(n);
for(i = 0; i < n; i++)
{
mod = (Module)anim.modules.get(i);
fo.writeByte(mod.x);
fo.writeByte(mod.y);
fo.writeByte(mod.w);
fo.writeByte(mod.h);
}
}
读的时候当然就是按你写进时的格式来读了。
void WriteModule(RandomAccessFile fo, PrintStream ft)
throws Exception
{
int i, n = anim.modules.size();
Module mod;
fo.writeShort(n);
for(i = 0; i < n; i++)
{
mod = (Module)anim.modules.get(i);
fo.writeByte(mod.x);
fo.writeByte(mod.y);
fo.writeByte(mod.w);
fo.writeByte(mod.h);
}
}
读的时候当然就是按你写进时的格式来读了。
#9
使用工具BinCompiler。百度搜下即可。