本篇文章给大家谈谈java接收二进制数据,以及java接收二进制流对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、java怎么实现读取一个文件,拿到二进制流2、java中怎么输入二进制数据3、java读取二进制文件中的数据的问题4、java中用socket时怎么用2进制传输数据流5、java 如何解析WebSocket传输的二进制数据6、java怎么存储二进制
java怎么实现读取一个文件,拿到二进制流
Java读取二进制文件,以字节为单位进行读取,还可读取图片、音乐文件、视频文件等,
在Java中,提供了四种类来对文件进行操作,分别是InputStream OutputStream Reader Writer ,前两种是对字节流的操作,后两种则是对字符流的操作。
示例代码如下:
public static void readFileByBytes(String fileName){
File file = new File(fileName);
InputStream in = null;
try {
System.out.println(“一次读一个”);
// 一次读一个字节
in = new FileInputStream(file);
int tempbyte;
while ((tempbyte = in.read()) != -1) {
System.out.write(tempbyte);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
return;
}
java中怎么输入二进制数据
Java中Scanner 是输入函数,首先建立一个输入函数,直接读取输入的二进制数据,然后通过Integer.valueOf转换成十进制即可。
Scanner input=new Scanner(System.in);
int length=input.nextInt();//输入二进制数据
int length10 = Integer.valueOf(length,10)//转换成十进制
java读取二进制文件中的数据的问题
二进制读取文件的形式中如果用的是read读取,那么此时就会出现乱码问题(中文是两个字节,read只能读取一个),所以都是通过readline方法来进行整行的内容读取来进行问题解决。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = “D:/test/test.txt”;
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
java中用socket时怎么用2进制传输数据流
对二进制的文件处理的时候,应该使用FileInputStream和FileOutputStream import java.io.*;
public class LinkFile
{
public static void main(String[] args) throws IOException
{
linkBinaryFile(“Idea.jpg”);
}
private static void linkBinaryFile(String fileName) throws IOException
{
File imageFile = new File(fileName);
if(!imageFile.exists()!imageFile.canRead())
{
System.out.println(“can not read the image or the image file doesn’t exists”);
System.exit(1);
}
long length = imageFile.length();
int ch = 0;
System.out.println(length);
byte[] buffer = new byte[(int)length/7];
InputStream image = new FileInputStream(imageFile);
File file = new File(“hello.jpg”);
if(!file.exists())
{
file.createNewFile();
}
FileOutputStream newFile = new FileOutputStream(file,true);
boolean go = true;
while(go)
{
System.out.println(“please select how to read the file:\n”+
“1: read()\n2:read(byte[] buffer)\n3:read(byte[] buffer,int off,int len)\n”);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
if(line.equals(“1”))
{
while((ch = image.read())!=-1)
{
System.out.print(ch);
newFile.write(ch);
}
}
else if(line.equals(“2”))
{
while((ch = image.read(buffer))!=-1)
{
System.out.println(ch);
newFile.write(buffer);
}
}
else if(line.equals(“3”))
{
while((ch = image.read(buffer,10,500))!=-1)
{
System.out.println(ch);
newFile.write(buffer,10,500);
java 如何解析WebSocket传输的二进制数据
JS操作websocket接收的二进制,安全性能有保障,已经过一年实践考验:
[javascript] view plain copy
ws.onmessage = function(evt) {
if(typeof(evt.data)==”string”){
textHandler(JSON.parse(evt.data));
}else{
var reader = new FileReader();
reader.onload = function(evt){
if(evt.target.readyState == FileReader.DONE){
var data = new Uint8Array(evt.target.result);
handler(data);
}
}
reader.readAsArrayBuffer(evt.data);
}
};
[html] view plain copy
function handler(data){
switch(data[0]){
case 1:
getCard(data[1]);
break;
…
JS操作websocket接收的图片,今天刚写的,也是用filereader实现。
[html] view plain copy
ws.onmessage = function(evt) {
if(typeof(evt.data)==”string”){
//textHandler(JSON.parse(evt.data));
}else{
var reader = new FileReader();
reader.onload = function(evt){
if(evt.target.readyState == FileReader.DONE){
var url = evt.target.result;
alert(url);
var img = document.getElementById(“imgDiv”);
img.innerHTML = “img src = “+url+” /”;
}
}
reader.readAsDataURL(evt.data);
}
};
java怎么存储二进制
1、利用纸和笔进行计算十进制的小数转换为二进制小数,主要是利用小数部分乘2,取整数部分,直至小数点后为0。下面以十进制的0.625为例,将它转化成二进制将小数部分0.625乘2,取整数部分1,如图:用剩余的小数部分0.25乘2,取整数部分0,如图:将剩余的小数部分0.5乘2,取整数部分。
2、移位位运算中大多数操作都是向左移位和向右移位在Java中,这对应着这两个操作符,示例如下:1234567891011/*000000011/*000000011/*111111111111111111111111111100004=1111111111111。
3、可以运用jdk工具监控java应用性能,再配合jmeter进行了一个长时间的加压,在加压过程中重点关注了系统资源的使用情况D:\ProgramFiles(x86)\Java\jdk1.8.0_111\bin这个目录下的工具jps-ListstheinstrumentedJav。
java接收二进制数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java接收二进制流、java接收二进制数据的信息别忘了在本站进行查找喔。