-
2021-02-12 14:19:12
展开全部
思路:按照字节读取文件到缓冲,然后对文件内容进行处理。
代码如下:62616964757a686964616fe78988e69d8331333335306334
public static void readFile() throws IOException{
RandomAccessFile f = new RandomAccessFile("test.txt", "r");
byte[] b = new byte[(int)f.length()];
//将文件按照字节方式读入到字节缓存中
f.read(b);
//将字节转换为utf-8 格式的字符串
String input = new String(b, "utf-8");
//可以匹配到所有的数字
Pattern pattern = Pattern.compile("\\d+(\\.\\d+)?");
Matcher match = pattern.matcher(input);
while(match.find()) {
//match.group(0)即为你想获取的数据
System.out.println(match.group(0));
}
f.close();
}
更多相关内容 -
java 对象与二进制互转
2021-02-12 15:41:43来自 : http://blog.csdn.net/luckyzhoustar/article/details/50402427/*** @FileName: ByteToObject.java* @Package:com.test* @Description: TODO* @author: LUCKY* @date:2015年12月25日 下午12:18:08* @version...来自 : http://blog.csdn.net/luckyzhoustar/article/details/50402427
/**
* @FileName: ByteToObject.java
* @Package:com.test
* @Description: TODO
* @author: LUCKY
* @date:2015年12月25日 下午12:18:08
* @version V1.0
*/
package com.test;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.HashMap;
import java.util.Map;
/**
* @ClassName: ByteToObject
* @Description: 字节与对象之间的转换
* @author: LUCKY
* @date:2015年12月25日 下午12:18:08
*/
public class ByteToObject {
public static void main(String[] args) throws Exception {
Student stu=new Student();
stu.setAge("15");
stu.setName("张三");
Map map=new HashMap();
map.put("001", "001");
map.put("002", "002");
stu.setWage(map);
ByteArrayOutputStream byt=new ByteArrayOutputStream();
ObjectOutputStream obj=new ObjectOutputStream(byt);
obj.writeObject(stu);
byte[] bytes=byt.toByteArray();
System.out.println(bytes);
ByteArrayInputStream byteInt=new ByteArrayInputStream(bytes);
ObjectInputStream objInt=new ObjectInputStream(byteInt);
Student stu2=new Student();
stu2=(Student)objInt.readObject();
System.out.println(stu2);
}
}
-
Java二进制Class文件格式解析
2020-12-22 23:26:43一、Java Class文件是什么 《The JavaTM Virtual Machine Specification》(Second Edtion)中有表述:Java Class文件由8位字节流组成,所有的16位、32位和64位数据分别通过读入2个、4个和8个字节来构造,多字节... -
java 将对象序列化为二进制文件,然后在反序列化为对象
2021-03-22 14:19:49java 将对象序列化为二进制文件,然后在反序列化为对象在开发中有时候为了考虑到 访问量,所以需要优化代码,可以减少用法对数据库的 访问,比如可以将一些不长改变的数据 通过序列化的方式保存在一个文件中 ,然后 ...java 将对象序列化为二进制文件,然后在反序列化为对象
在开发中有时候为了考虑到 访问量,所以需要优化代码,可以减少用法对数据库的 访问,比如可以将一些不长改变的数据 通过序列化的方式保存在一个文件中 ,然后 用户再次访问的时候可以通过反序列化的方式 从文件中读取。
序列化 反序列化的 例子如下:
1、首先 创建一个user类 此类必须实现 Serializable 接口
public class User implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private Integer id;
private String name;
private String sex;
private String age;
private Country country;
@SuppressWarnings(“unused”)
private User() {
super();
}
//getXXX()和setXXX()方法
}
public class Country implements Serializable{
private String id;
private String countryName;
private String where;
//getXXX()和setXXX()方法
}
public class TestSerialization {
public static void main(String[] args) {
outputObject();
inputObject();
}
private static void inputObject(){
try {
FileInputStream input = new FileInputStream(“d:”+File.separator+”use.out”);
ObjectInputStream objInput = new ObjectInputStream(input);
Object user = (Object) objInput.readObject();
System.out.println(user.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static void outputObject() {
FileOutputStream os;
try {
os = new FileOutputStream(“d:”+File.separator+”use.out”);
ObjectOutputStream o = new ObjectOutputStream(os);
Country coun = new Country(“2″,”中国”,”east”);
Object user = new User(1, “zhangsan”, “男”,”12″,coun);
o.writeObject(user);
o.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
}
这样可以将对象序列化为一个文件, 也可以将文件反序列化为对象。
-
Java读取和写入二进制大文件的方法.rar
2019-07-10 18:32:56Java读取和写入二进制大文件的方法,应该说是一个基于二进制的大文件块,演示了如何自定义缓存区,并使用不具有缓冲功能的DataInputStream 和DataOutputStream 类来读写二进制的大文件块数据,运行效果请参见如下... -
Java读写二进制文件操作
2021-03-18 13:44:47/*** 二进制读写文件*/import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileInputStream;import java.io.../**
* 二进制读写文件
*/
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
publicclass MainClass
{
/**
* java.io包中的OutputStream及其子类专门用于写二进制数据。
* FileOutputStream是其子类,可用于将二进制数据写入文件。
* DataOutputStream是OutputStream的另一个子类,它可以
* 连接到一个FileOutputStream上,便于写各种基本数据类型的数据。
*/
publicvoid writeMethod1()
{
String fileName="c:/kuka1.dat";
int value0=255;
int value1=0;
int value2=-1;
try
{
//将DataOutputStream与FileOutputStream连接可输出不同类型的数据
//FileOutputStream类的构造函数负责打开文件kuka.dat,如果文件不存在,
//则创建一个新的文件,如果文件已存在则用新创建的文件代替。然后FileOutputStream
//类的对象与一个DataOutputStream对象连接,DataOutputStream类具有写
//各种数据类型的方法。
DataOutputStream out=new DataOutputStream(new FileOutputStream(fileName));
out.writeInt(value0);
out.writeInt(value1);
out.writeInt(value2);
out.close();
} catch (Exception e)
{
e.printStackTrace();
}
}
//对于大量数据的写入,使用缓冲流BufferedOutputStream类可以提高效率
publicvoid writeMethod2()
{
String fileName="c:/kuka2.txt";
try
{
DataOutputStream out=new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream(fileName)));
out.writeInt(10);
System.out.println(out.size()+" bytes have been written.");
out.writeDouble(31.2);
System.out.println(out.size()+" bytes have been written.");
out.writeBytes("JAVA");
System.out.println(out.size()+" bytes have been written.");
out.close();
} catch (Exception e)
{
e.printStackTrace();
}
}
/**
* 对二进制文件比较常见的类有FileInputStream,DataInputStream
* BufferedInputStream等。类似于DataOutputStream,DataInputStream
* 也提供了很多方法用于读入布尔型、字节、字符、×××、长×××、短×××、
* 单精度、双精度等数据。
*/
publicvoid readMethod1()
{
String fileName="c:/kuka1.dat";
int sum=0;
try
{
DataInputStream in=new DataInputStream(
new BufferedInputStream(
new FileInputStream(fileName)));
sum+=in.readInt();
sum+=in.readInt();
sum+=in.readInt();
System.out.println("The sum is:"+sum);
in.close();
} catch (Exception e)
{
e.printStackTrace();
}
}
publicvoid readMethod2()
{
try
{
FileInputStream stream=new FileInputStream("c:/kuka.dat");
int c;
while((c=stream.read())!=-1)
{
System.out.println(c);
}
} catch (Exception e)
{
e.printStackTrace();
}
}
}
-
Java复制二进制文件
2021-03-22 13:27:29常用方法使用高效缓冲字节流?...import java.io.*;public class BufferCopy {public static void main(String[] args) {//定义一个高效缓存字节流BufferedInputStream in = null;BufferedOutputStream... -
java数据类型与二进制详细介绍
2020-08-29 22:23:30主要介绍了java数据类型与二进制详细介绍的相关资料,这里对数据类型进行了一一介绍分析,并说明自动转换和强制转换,需要的朋友可以参考下 -
java常用二进制数据转换工具
2022-03-06 22:40:23经常需要与plc,单片机,传感器通讯,需要解析设备数据,java跟C不同,需要二进制转换成java的数据,因此整理了一个工具 -
java对象流:对象——>二进制文件([反]序列化)
2021-07-21 15:13:40ObjectOutputStream:将Java对象转化成二进制数据,写入到数据源中。———>序列化 ObjectInputStream:当程序获取到这种二进制数据,可以恢复成原来的Java对象.———>反序列化 package com.msb.io01; ... -
二进制和java对象的相互转换
2021-02-02 23:07:10序列化存储对象数据需要将数据需要转换成二进制: private static <T> byte[] toByteArray(T body) { ByteArrayOutputStream baos = null; ObjectOutputStream oos = null; try { baos = new ... -
MySQL 用Java以二进制的方式把照片存入MySQL数据库
2022-03-14 16:08:09//设置第二个人传入参数id ps.setInt(2, id); //返回执行的个数 return ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } ... -
使用Java读取二进制文件并将其转换为char文件 - java
2021-03-15 13:38:26我正在尝试读取可以在here中找到的shortcod文件二进制文件。我用来打印此文件内容的方法:public void read3RegularGraphs( String pathFile ) throws IOException {InputStream reader = new FileInputStream(path... -
java io 二进制方式存储对象到文件
2018-01-19 14:03:06本文记录利用java 字节流把对象保存本地文件,然后读取到对象中。...DataOutputStream 二进制输出流,可以包装一个输出流,用于向文件写入二进制数据。 BufferedInputStream 数据缓冲流,可以包装一个输入流,优 -
java接口接收二进制流
2021-04-17 11:12:09RF 读写器 JAVA 接口用户手册 1....因为图片是二进制文件,则只能用字节流 File f1=new...System.out 是指标准输出,通常与计算机的接口设备有...Java 的流式输入/输出建立在四个抽象类的基础上: ......我是... -
Java 二进制数据转成文件
2021-02-12 15:46:50importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.ByteArrayInputStream;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importorg.slf4j.Logg... -
Java中的二进制及基本的位运算
2021-03-04 01:17:07Java中的二进制及基本的位运算二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹... -
详谈Java中的二进制及基本的位运算
2021-02-26 10:41:52二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,...那么Java中的二进制又是怎么样的呢?让我们一起来揭开它神秘的面... -
Java将二进制流转Base64字符串
2020-06-10 13:22:58Java将二进制流转Base64字符串并在页面显示(附Base64转二进制流) java代码如下: /** * 二进制流转Base64字符串 * * @param data 二进制流 * @... -
Java中实现十进制数转换为二进制的三种方法
2021-03-06 04:56:37依次循环,直到商为0结束,把余数倒着依次排列,就构成了转换后的二进制数。那么,在实际实现中,可以用int的一个数来存储最后的二进制,每次求余后把余数存储在int型数的低位,依次递增。public void binaryTo... -
Java二进制字节码文件解析
2021-04-12 16:04:01解读字节码文件二进制类格式实际上是由 JVM 规范定义的。通常这些类表示是由编译器从 Java 语言源代码生成的,而且它们通常存储在扩展名为 .class 的文件中。但是,这些特性都无关紧要。就 JVM 而言,重要的部分不是... -
java十进制转二进制简单算法
2021-05-22 19:52:41Java十进制转二进制算法 一、编程思路 可以运用简单的数学的计算的方法。如下 这张图大家应该都不陌生,10(例子中的10)一直除以2,余数写在右面那一列,如果被整除右面写0,如果没有别整除,写他的余数,这样... -
Java中转换为二进制的几种实现
2021-02-12 15:04:40public class HexUtil {private static final String[] DIGITS_UPPER ={"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"};public static void main(String[] args) throws Decoder... -
java中Integer包装类的具体解说(java二进制操作,全部进制转换)
2021-03-13 10:42:17在现实开发中,我们往往须要操作Integer,或者各种进制的转换等等。我今天就为大家具体解说一下Integer的使用吧。看代码:package com.herman.test;public class IntegerTest {public static void main(String[] ... -
java序列化,二进制和数据流
2021-02-12 19:34:59类的序列化需要支持Serializable接口,如果类支持序列化,可以通过ObjectOutPutStream和ObjectInputStream将对象和Stream之间进行方便的转换。首先来 看一下ObjectOutPutStream和ObjectInputStream的构造函数和常用...