发布网友 发布时间:2022-04-22 01:42
共3个回答
热心网友 时间:2023-11-09 15:19
public class WriteTextFileExample {
public static void main(String[] args ) {
try {
FileOutputStream out = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream(fileName2)));
DataInputStream in=new DataInputStream(
new BufferedInputStream(
new FileInputStream(fileName)));
int l=in.readInt(); //你必须要知道你提取的2进制文件里的数据对应的是什么类型的,数据量有多少
/*
System.out.println(dis.available());
System.out.println(dis.readBoolean());
char c=(char)dis.readChar();
System.out.println(c);
System.out.println(dis.readDouble());
System.out.println(dis.readFloat());
System.out.println(dis.readInt());
System.out.println(dis.readLong());
System.out.println(dis.readShort());
System.out.println(dis.readUTF());
*/
//读取的时候一定要一一对应,不然取出来也不能用
out.write(String.valueOf(l));
//请根据你的二进制文件自行设定执行次数
}
catch (FileNotFoundException fnfe) {
fnfe.printStackTrace();
}
catch (IOException ioe) {
ioe.printStackTrace();
}
finally {
try {
if (bw != null)
bw.close();
if (fos != null)
fos.close();
}
catch (IOException ie) {
}
}
}
}
参考:追问只有一个文件 我也不知道里面是啥 只知道是数据 怎么解决啊?而且我怎么判断生成的是文本文件或者是二进制文件 可以指点下吗?
追答很困难啊,2进制文件就是这个特性,我先找找看吧,晚上找到的话我修改答案,不然只能抱歉了
参考资料:http://blog.csdn.net/steven2006/article/details/4434621
热心网友 时间:2023-11-09 15:19
二进制文件和文本文件本身不能直接转换。因为是两种不同的结构。
你的意思是不是要把二进制文件转换成十六进制表示的二进制文件?
热心网友 时间:2023-11-09 15:20
用二进制流去读文件
追问谢谢 可以给出具体代码吗?