java把文件写入内存---输出字节流
来源:互联网 发布:蜘蛛池平台源码 编辑:程序博客网 时间:2024/06/05 11:37
// 资源管理类
class ResManager {
// 把文件写入到内存 Map key对应数据
static Map<String, byte[]> files = new HashMap<String, byte[]>();
//初始化把文件写入到内存
public static void init() {
loadfile("BOMB2.WAV");
loadfile("enemyshot.WAV");
loadfile("GRAY3WEA.WAV");
loadfile("move.WAV");
loadfile("myshot.WAV");
loadfile("start.wav");
}
//写入内存方法
private static void loadfile(String xx) {
try {
// 获取文件URL
URL u = ResManager.class.getClassLoader().getResource(xx);
// 把输入流转换成字节数组
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// 把路径对应的数据转换成输入流
InputStream tmpIs = u.openStream();
// 缓冲数组
byte[] data = new byte[512];
int len = -1;
// 取出输入流的字节
while ((len = tmpIs.read(data)) != -1)
// 把字节写入到data数组
baos.write(data, 0, len);
// 把写入到输出流的数据给ttt
byte[] ttt = baos.toByteArray();
// xx.toUpperCase把输入的字符串全部改为大写
// 把key值对应的数据给files
files.put(xx.toUpperCase(), ttt);
baos.close();
tmpIs.close();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
// 返回资源的URL
public static URL getResURL(String xx) {
URL url = ResManager.class.getClassLoader().getResource(xx);
return url;
}
// 返回数据流
public static InputStream getResStream(String xx) {
// 获取内存中key值对应的数据
byte[] b = files.get(xx.toUpperCase());
// 把字节数组转换成输入流
ByteArrayInputStream bais = new ByteArrayInputStream(b);
return bais;
}
}
0 0
- java把文件写入内存---输出字节流
- android / java 字节流写入文件
- ofstream文件输出流把二进制数据写入文件
- ofstream文件输出流把二进制数据写入文件
- 文件写入字节流
- 通过java字节流复制文件,逐个字节读取写入
- java缓冲字节流复制文件,逐个字节读取、写入
- java(147)字节流文件读取,写入,追加文件
- Java(文件输入/输出字节流)
- 第二天! 把文件写入ROM内存
- Java之基于字节流文件的写入和读取
- Java-文件读取写入整型(字节流)
- java 使用IO字节流将一句话写入文件
- 文件字节输出流
- java 字节流写入中文
- 黑马程序员--Java基础学习之IO流之字节流、字符流、读取写入文件、Copy文件、键盘输入输出、流操作的基本规律
- java 输出字节流
- Java把double数据写入文件中
- Codeforces 358 D. Dima and Hares
- 打基础自然是厚积薄发,这样的话我一般推荐下面四本书
- Buildroot 用法
- 基于jdk动态代理的实现与源码解析
- 【郁闷】表示原来的博客抽了
- java把文件写入内存---输出字节流
- SQL Server 2014附加数据库失败,错误5120的解决方法之一
- Minimum Path Sum
- 步入c++
- SOJ11350
- Ural1087
- 实现验证码,邮箱验证功能
- 我与C++设计模式(二十二)——解释者模式
- Cufllinks的安装与使用