BigInteger changer = new BigInteger("你好"); big.toString(2); 可以得到2进制 不知道是不是你要的。呵呵
字符串存进去肯定还是正常的显示,数字存进去是你想要的乱码 用BufferedReader来读 比如你读到一个字符串"100" String s = reader.readLine(); int i = Integer.parseInt(s); 然后通过DataOutputStream流写到文件中: output.writeInt(i);不知道你要的是不是这个,而且不同类型的数据占的字节数不一样,你要读出来就必须有固定的格式
http://blog.csdn.net/cg_i/archive/2007/12/16/1942233.aspx楼主看看这两个 肯定会有所启发
FileReader fr = new FileReader("a.txt");//要复制的文本文件
BufferedReader br = new BufferedReader(fr);//用读字符流缓冲区套住 FileWriter fw = new FileWriter("b.txt");//副本文件
BufferedWriter bw = new BufferedWriter(fw);//用写字符流缓冲区套住 while(true) {
String temp = br.readLine();
if(temp == null) {
break;
}
bw.write(temp);
bw.newLine();
}
bw.close();
fw.close();
br.close();
fr.close();字符流文件复制二
BufferedReader br = new BufferedReader(
new InputStreamReader(new FileInputStream("a.txt"))); PrintWriter pw = new PrintWriter(new FileOutputStream("b.txt")); while(true) {
String temp = br.readLine();
if(temp == null) {
break;
}
pw.println(temp);
}
pw.close();
br.close();字节流文件复制
InputStream in = new FileInputStream("a.txt");
OutputStream out = new FileOutputStream("b.txt");
byte[] bytes = new byte[1024];
while(true) {
int len = in.read(bytes);
if(len == -1){
break;
}
out.write(bytes, 0, len);
}
import java.io.*;
public class TestIO{
public static void main(String[] args)
throws IOException{
//1.以行为单位从一个文件读取数据
BufferedReader in =
new BufferedReader(
new FileReader("F:\\nepalon\\TestIO.java"));
String s, s2 = new String();
while((s = in.readLine()) != null)
s2 += s + "\n";
in.close(); //1b. 接收键盘的输入
BufferedReader stdin =
new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Enter a line:");
System.out.println(stdin.readLine()); //2. 从一个String对象中读取数据
StringReader in2 = new StringReader(s2);
int c;
while((c = in2.read()) != -1)
System.out.println((char)c);
in2.close(); //3. 从内存取出格式化输入
try{
DataInputStream in3 =
new DataInputStream(
new ByteArrayInputStream(s2.getBytes()));
while(true)
System.out.println((char)in3.readByte());
}
catch(EOFException e){
System.out.println("End of stream");
} //4. 输出到文件
try{
BufferedReader in4 =
new BufferedReader(
new StringReader(s2));
PrintWriter out1 =
new PrintWriter(
new BufferedWriter(
new FileWriter("F:\\nepalon\\ TestIO.out")));
int lineCount = 1;
while((s = in4.readLine()) != null)
out1.println(lineCount++ + ":" + s);
out1.close();
in4.close();
}
atch(EOFException ex){
System.out.println("End of stream");
} //5. 数据的存储和恢复
try{
DataOutputStream out2 =
new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream("F:\\nepalon\\ Data.txt")));
out2.writeDouble(3.1415926);
out2.writeChars("\nThas was pi:writeChars\n");
out2.writeBytes("Thas was pi:writeByte\n");
out2.close();
DataInputStream in5 =
new DataInputStream(
new BufferedInputStream(
new FileInputStream("F:\\nepalon\\ Data.txt")));
BufferedReader in5br =
new BufferedReader(
new InputStreamReader(in5));
System.out.println(in5.readDouble());
System.out.println(in5br.readLine());
System.out.println(in5br.readLine());
}
catch(EOFException e){
System.out.println("End of stream");
} //6. 通过RandomAccessFile操作文件
RandomAccessFile rf =
new RandomAccessFile("F:\\nepalon\\ rtest.dat", "rw");
for(int i=0; i<10; i++)
rf.writeDouble(i*1.414);
rf.close(); rf = new RandomAccessFile("F:\\nepalon\\ rtest.dat", "r");
for(int i=0; i<10; i++)
System.out.println("Value " + i + ":" + rf.readDouble());
rf.close(); rf = new RandomAccessFile("F:\\nepalon\\ rtest.dat", "rw");
rf.seek(5*8);
rf.writeDouble(47.0001);
rf.close(); rf = new RandomAccessFile("F:\\nepalon\\ rtest.dat", "r");
for(int i=0; i<10; i++)
System.out.println("Value " + i + ":" + rf.readDouble());
rf.close();
}
}
用下面的方式就应该可输出了
BufferedReader in = new BufferedReader(new FileReader("b.txt"));
但是现在需要把这个文本转成二进制文件简而言之就是输出的文本打开后是乱码?比如说形式是
begin
117.000000 477.000000 239.000000 756.000000
1
图层 1
7
L
0.216000
0
0
0
5
157.248000 499.464000
349.056000 499.464000
349.056000 623.088000
157.248000 623.088000
157.248000 499.464000
能方便给点代码吗?
谢谢了
PS chiphuo 的代码是成功的,但是转换后的文件不是二进制的吧
打开后仍然可以正常显示~
big.toString(2); 可以得到2进制
不知道是不是你要的。呵呵
用BufferedReader来读
比如你读到一个字符串"100"
String s = reader.readLine();
int i = Integer.parseInt(s);
然后通过DataOutputStream流写到文件中:
output.writeInt(i);不知道你要的是不是这个,而且不同类型的数据占的字节数不一样,你要读出来就必须有固定的格式