java实现文件上传--flash上传
1、http请求的头信息是“application/octet-stream”,request body 是二进制的flash图片流
2、把流中的信息读入到文件中
代码如下,代码分三个部分:
-----------------主程序-----------------
import richinfo.tools.Base64Coder;
import richinfo.tools.file.FileUtil; public class WriteFlie
{ /**
* @param args
*/
public static void main(String[] args)
{
String s = "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSgBBwcHCggKEwoKEygaFhooKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKP/AABEIAZACJgMBEQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APqmgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoACQASSABySamc404uc3ZLVt7JAlci+0Q/89o/++hXn/2zl3/QRD/wOP8AmX7OfZh9oh/57R/99Cj+2cu/6CIf+Bx/zD2c+zD7RD/z2j/76FH9s5d/0EQ/8Dj/AJh7OfZh9oh/57R/99Cj+2cu/wCgiH/gcf8AMPZz7MPtEP8Az2j/AO+hR/bOXf8AQRD/AMDj/mHs59mH2iH/AJ7R/wDfQo/tnLv+giH/AIHH/MPZz7MPtEP/AD2j/wC+hR/bOXf9BEP/AAOP+Yezn2YfaIf+e0f/AH0KP7Zy7/oIh/4HH/MPZz7MPtEP/PaP/voUf2zl3/QRD/wOP+Yezn2YfaIf+e0f/fQo/tnLv+giH/gcf8w9nPsw+0Q/89o/++hR/bOXf9BEP/A4/wCYezn2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ADD2c+zGSyxuqqkiM29eAQT94Vx47McJioRpUKsZSc6eikm9Jxb0T6JNvslcqMJRd2u/5FiveMgoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAP//Z";
byte[] b = Base64Coder.decode(s);
System.out.println(b.length);
String dirPath = "D://a.jpg";
FileUtil.saveFile(dirPath,b);
}
}
-----------------解码方法(base64转为字节)-----------------
public static byte[] decode(char[] in)
{
int iLen = in.length;
if (iLen % 4 != 0)
throw new IllegalArgumentException(
"Length of Base64 encoded input string is not a multiple of 4.");
while (iLen > 0 && in[iLen - 1] == '=')
iLen--;
int oLen = (iLen * 3) / 4;
byte[] out = new byte[oLen];
int ip = 0;
int op = 0;
while (ip < iLen)
{
int i0 = in[ip++];
int i1 = in[ip++];
int i2 = ip < iLen ? in[ip++] : 'A';
int i3 = ip < iLen ? in[ip++] : 'A';
if (i0 > 127 || i1 > 127 || i2 > 127 || i3 > 127)
throw new IllegalArgumentException(
"Illegal character in Base64 encoded data.");
int b0 = map2[i0];
int b1 = map2[i1];
int b2 = map2[i2];
int b3 = map2[i3];
if (b0 < 0 || b1 < 0 || b2 < 0 || b3 < 0)
throw new IllegalArgumentException(
"Illegal character in Base64 encoded data.");
int o0 = (b0 << 2) | (b1 >>> 4);
int o1 = ((b1 & 0xf) << 4) | (b2 >>> 2);
int o2 = ((b2 & 3) << 6) | b3;
out[op++] = (byte) o0;
if (op < oLen)
out[op++] = (byte) o1;
if (op < oLen)
out[op++] = (byte) o2;
}
return out;
}
-----------------上传-----------------
public static int saveFile(String filePath, byte[] bytes)
{
FileOutputStream fos = null;
try
{
createFile(filePath);
fos = new FileOutputStream(filePath);
fos.write(bytes, 0, bytes.length);
fos.flush();
}
catch (FileNotFoundException e)
{
LOG.error("saveFileNOTFOUND,file={}", filePath, e);
}
catch (IOException e)
{
LOG.error("saveFileIO:file={}", filePath, e);
}
finally
{
StreamUtil.close(fos);
}
File file = new File(filePath);
if (file.exists())
{
return 0;
}
return -1;
}
java实现文件上传--flash上传的更多相关文章
- 使用swfupload上传超过30M文件,使用FLASH上传组件
原文:使用swfupload上传超过30M文件,使用FLASH上传组件 前一段时间会员的上传组件改用FLASH的swfupload来上传,既能很友好的显示上传进度,又能完全满足大文件的上传. 后来服务 ...
- 【docker】将Java jar文件生成镜像、上传镜像并生成镜像压缩文件
概述 将Springboot的web服务打包成Jar包后,自动化脚本将jar打包成镜像.上传镜像.并生成镜像的压缩文件: Dockerfile FROM 10.254.9.21/library/ora ...
- Flash上传文件(结合asp.net)
一.实现原理.在某些场合,我们需要使用Flash进行“文件上传”,原因是Flash 能制作出表现力丰富的UI界面. (自负又孤陋寡闻的我在这里做一个补充:Flash使用flash.net包中的File ...
- Flash上传组件之SWFUpload文件上传
一.什么是SWFUpload? SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而 ...
- java进行文件上传,带进度条
网上看到别人发过的一个java上传的代码,自己写了个完整的,附带源码 项目环境:jkd7.tomcat7. jar包:commons-fileupload-1.2.1.jar.commons-io-1 ...
- [html5+java]文件异步读取及上传核心代码
html5+java 文件异步读取及上传关键代码段 功能: 1.多文件文件拖拽上传,file input 多文件选择 2.html5 File Api 异步FormData,blob上传,图片显示 3 ...
- Java Web文件上传
参考资料:http://www.cnblogs.com/xdp-gacl/p/4200090.html 一.问题描述 Java Web文件上传需要借助一些第三方库,常用的是借助Apache的包,有两个 ...
- java web 文件上传下载
文件上传下载案例: 首先是此案例工程的目录结构:
- Java Struts文件上传和下载详解
Struts2文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的 ...
随机推荐
- mysql中select五种子句和统计函数
select 五种子句顺序 where 条件 group by 分组 having 把结果进行再次筛选 order by 排序 limit 取出条目 统计函数 max(列名) 求最大 min( ...
- nginx 配一个简单的静态文件服务器 和一个虚似机
下面是个图片服务器: server { listen ; server_name img.xxx.xxx.com; root /data/site/img.xxx.xxx.com; access_lo ...
- 列出zip文件内全部内容 当前目录下的所有文件压缩成zip格式的文件(file.zip)
[root@ok Desktop]# zip -r image.zip ./*.jpg adding: 20161007_113743.jpg (deflated 0%) adding: 201610 ...
- MVC学习笔记---各种上下文context
0 前言 AspNet MVC中比较重要的上下文,有如下: 核心的上下文有HttpContext(请求上下文),ControllerContext(控制器上下文) 过滤器有关有五个的上下文Actio ...
- AXURE在原型设计中的应用
转: http://uedc.163.com/2248.html 前言 什么是原型呢? 产品原型简单的说就是产品设计成形之前的一个简单框架,对网站来讲,就是将页面模块.元素进行粗放式的排版和布局,深入 ...
- 【C#】 用Route进行URL重写
在.NET Framework 4中,微软推出了Route机制.这种机制不仅在MVC中大量运用,在WebForm中也可以使用. 和Contex.RewritePath()一样,Route功能也是写在G ...
- 常用的Java代码汇总
1. 字符串有整型的相互转换 Java 1 2 <strong>Stringa=String.valueOf(2); //integer to numeric ...
- Microsoft SQL Server 博客目录
基础概念篇 SQL Server排序规则 SQL SERVER 统计信息概述(Statistics) SQL SERVER 索引之聚集索引和非聚集索引的描述 Sql Server 索引之唯一索引和筛选 ...
- HDU5781 ATM Mechine(DP 期望)
应该是machine 和POJ3783 Balls类型相似. 现在上界为i元,猜错次数最多为j时,开始猜测为k元,有两种情况: 1 猜中:(i - k + 1) * dp[i - k][j] 2 猜不 ...
- Auto Layout
Auto Layout XCode5+ Auto Layout Concepts 核心的概念是约束. Constraint Basics Constant value Relation Priorit ...