binreader.java

来自「java编写的连连看游戏」· Java 代码 · 共 72 行

JAVA
72
字号
	/**************************************************************************************
	 * Reads a file from the BIN file and return data as a byte buffer
	 **************************************************************************************/
	public byte[] readFile(String binfile, int pos)
	{
		byte buffer[];
		int len;

		try {

			InputStream is = Class.getClass().getResourceAsStream("/" + binfile);

			is.skip(pos);

			len  = (is.read() & 0xFF) << 24;
			len  |= (is.read() 0xFF) << 16;
			len  |= (is.read() & 0xFF) << 8;
			len  |= (is.read() & 0xFF);

			buffer = new byte[len];
		
			is.read(buffer, 0, buffer.length);

			is.close();
			is = null;
		
			System.gc();
		} catch (Exception e) {
			buffer = null;
			e.printStackTrace();
			System.gc();
			return null;
		}

		return buffer;
	}
 
	/**************************************************************************************
	 * Reads a file from the BIN file and return data as an Image
	 **************************************************************************************/
	public Image readImage(String binfile, long pos)
	{
		byte buffer[];
		long len;

		try {
			InputStream is = Class.getClass().getResourceAsStream("/" + binfile);
			
			is.skip(pos);
			
			len  = (is.read() & 0xFF) << 24;
			len  |= (is.read() 0xFF) << 16;
			len  |= (is.read() & 0xFF) << 8;
			len  |= (is.read() & 0xFF);

			buffer = new byte[len];
		
			is.read(buffer, 0, buffer.length);

			is.close();
			is = null;
		
			System.gc();
		} catch (Exception e) {
			buffer = null;
			e.printStackTrace();
			System.gc();
			return null;
		}

		return Image.createImage(buffer, 0, buffer.length);
	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?