‘壹’ java 将二进制数组 中的值 不变化的取出存为二进制.
//利用位运算。
intlen=arr.length();
intans=0;
for(inti=0;i<len;i++){
ans|=(arr[i]<<(len-i));
}
System.out.println(ans);
要是补第一个0可以用格式化输出。
‘贰’ java中 将二进制字节 追加到字节数组中
下面代码是有图片上传的,附件上传也和这个差不多,你自己改改吧,对自己有好处的,希望对你有帮助。
/**
* 图片上传
* @param request
* @return
* @throws Exception
*/
private List<?> imgUpload(HttpServletRequest request)throws Exception{
//存放图片对象
List<ImgObject> imgUrls = new ArrayList<ImgObject>();
//图片后缀
String imgSuffix = ".jpeg";
//存放目录
String dirName = "/upload/Img";
//获得存储的目录
String dir = request.getSession().getServletContext().getRealPath(dirName);
//服务器地址
String path = request.getScheme() + "://" + request.getServerName()
+ ":" + request.getServerPort() + request.getContextPath()
+ dirName;
//实例化File对象
File mdFile = new File(dir);
//如果目录不存在,创建一个目录
if(!mdFile.exists()){
mdFile.mkdirs();
}
//转换为MultipartHttpRequest对象
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
//页面控件的文件流
List<MultipartFile> multiFiles = multipartRequest.getFiles("contentFile");
for(MultipartFile multiFile : multiFiles){
if(!multiFile.isEmpty()){
//文件名
String fileName = UUID.randomUUID().toString()+imgSuffix;
//图片url
String imgUrl = path +"/"+fileName;
//实例化File对象
File savaFile = new File(dir+"/"+fileName);
Image img = ImageIO.read(multiFile.getInputStream());
int width=img.getWidth(null);
int height=img.getHeight(null);
BufferedImage bufferImg = new BufferedImage((int) width, (int) height, BufferedImage.TYPE_INT_RGB);
bufferImg.getGraphics().drawImage(img.getScaledInstance(width, height, Image.SCALE_SMOOTH), 0, 0, null);
ImageIO.write(bufferImg, "JPEG", savaFile);
//封装图片信息
ImgObject tbcic = new ImgObject();
tbcic.setImgUrl(imgUrl);
tbcic.setImgWidth(width);
tbcic.setImgHeigth(height);
imgUrls.add(tbcic);
}
}
return imgUrls;
}
‘叁’ Java中如何将一串二进制数放到数组中
刚写的 给我分吧。绝对是自己写的。
public class Find {
/**
* @param args
* @author zhou2003737
* @
*/
public static void main(String[] args) {
int[]a=;//测试数组
int[] b=new Find().ToLower(a);//测试从大到小
System.out.println("数组a降序排列为:");
for (int i = 0; i < b.length; i++) {
System.out.print(b[i]+" ");//打印从大到小数据
}
int[]c=new Find().ToUpper(a);//测试从小到大
System.out.println("\r数组a升序排列为:");
for (int i = 0; i < c.length; i++) {
System.out.print(c[i]+" ");
}
}
/*
* 从大到小顺序
*/
public int[] ToLower(int[] a){
for (int i = 0; i < a.length; i++) {
for (int j = i; j < a.length; j++) {
if (a[j]>a[i]) {
int temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
return a;
}
/*
* 从小到大顺序
*/
public int[] ToUpper(int[] a)
{
for (int i = 0; i < a.length; i++) {
for (int j = i; j < a.length; j++) {
if (a[j]<a[i]) {
int temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
return a;
}
}
请参考
‘肆’ 利用java,怎么把二进制字符串转化为相应的二进制数组
java.lang.Integer这个API包中有进制转换的函数
public static String toBinaryString(int i)
public static String toHexString(int i)
public static String toOctalString(int i)
这3个函数都可以将十进制的整数转换成二、一六、八进制数
不过转换后的结果都是字符串的形式
‘伍’ 跪求“java中二进制怎么表示”
java中二进制的表示:
1、Java中定义两个数,然后分别打印出它们的二进制表示(例如7和-7):
System.out.println("Java二进制7:"+Integer.toBinaryString(7));
System.out.println("Java二进制-7:"+Integer.toBinaryString(-7));
输出:
Java二进制7: 111
Java二进制-7:
7的二进制就是111
-7转化二进制的过程:
(1)把-7转化成7,二进制是 111
(2)Java中对于不满32位的int二进制自动补齐,所以变成了 (29个0)111
(3)然后取反 (29个1)000
(4)然后加1 (29个1)001
(5)java二进制数组扩展阅读:
c语言中二进制的转换:
用函数转换itoa(值,数组名,进制)
#include<stdio.h>
#include<stdlib.h>
voidmain()
{
char str[8];
inti=8;
itoa(i,str,2);
printf("%s",str);
}
‘陆’ java中二进制怎么表示
一、二进制的表示方法
有0,1组成。以0b开头。
代码的表示方法:
System.out.println(0b100)
二、不同进制的数据表现:
八进制:由0,1,....,7.以0开头。
十进制:由0,1......,9.默认整数。
十六进制:由0,1,......9,a,b,c,d,e,f(大小写均可)组成。
十进制:System.out.println(100);
八进制:System.out.println(0100);
十六进制: System.out.println(0x100);
(6)java二进制数组扩展阅读
java 判断二进制文件的代码:
public static boolean isBinary(File file)
{
boolean isBinary = false;
try {
FileInputStream fin = new FileInputStream(file);
long len = file.length();
for (int j = 0; j < (int) len; j++) {
int t = fin.read();
if (t < 32 && t != 9 && t != 10 && t != 13) {
isBinary = true;
break;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return isBinary;
}
‘柒’ Java 二进制数组怎样序列化
在JAVA中,所谓序列化,是指将一个对象变为Byte[]然后Output出去。反序列化,是指将Byte[]重新变为对象,读入内存中。所以,你所说的“二进制数组”,本身就是序列化的结果形式,已不能且不必再序列化。
‘捌’ java将二进制读入字节数组中,然后将俩个字节一起转化为十进制
我给你一种方法:
你把字母分别用空格“
”隔开输入,那么接收到的字符串就为:"a
b
c
d....."
示例:
public
class
splitdemo
{
public
static
string[]
ss
=
new
string[26];
public
splitdemo()
{
string
s
="a
b
c
d.....";
//此处应为键盘接收
//
在每个空格字符处进行分解。
ss
=
s.split("
");
}
‘玖’ 用JAVA把二进制数转换成十进制数。
二进制转十进制
Integer.valueOf("0101",2).toString()
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入一个二进制数: ");
String a = sc.nextLine();
int d = Integer.parseInt(a, 2); // 2进制
int o = Integer.parseInt(a, 8); // 8进制
System.out.println("二进制转为十进制: " + d);
System.out.println("八进制转为十进制: " + o);
计算机内部使用二进制表示数
二进制与十进制的转换是比较复杂的。比如我们要让计算机计算50+50=?,那么首先要把十进制的50转换成二进制的“50”——110010,这个过程要做多次除法,而计算机对于除法的计算是最慢的。把十进制的50转换成二进制的110010还不算完,计算出结果1100100之后还要再转换成十进制数100,这是一个做乘法的过程,对计算机来说虽然比除法简单,但计算速度也不快。
以上内容参考:网络-十进制
‘拾’ Java中怎么把一串二进制转换成数组
java.io.ObjectOutputStream使用这个,加java.io.ByteArrayOutputStream