请高手为我解答一小段java程序

来源:百度知道 编辑:UC知道 时间:2024/05/13 03:13:10
我的aa.txt文件中的内容如下:
123
2.3
true
当是用
int i=din.readInt();
float f=din.readFloat();
boolean b=din.readBoolean();
读取到i,f,b中后输出的全是乱码,请教 请教。谢谢!

import java.io.*;
public class File5
{
public static void main(String[] args)throws IOException

{
int ch;

File file1=new File("E:\\javatest\\aa.txt");
File file2=new File("E:\\javatest\\aaa.txt");
try
{
FileInputStream fin= new FileInputStream(file1);
DataInputStream din =new DataInputStream(fin);
int i=din.readInt();
float f=din.readFloat();
boolean b=din.readBoolean();
din.close();
FileOutputStream fout= new FileOutputStream(file2);
DataOutputStream dout =new DataOutputStream(fout);

dout.writeInt(i);
dout.writeFloat(f);
dout.writeBoolean(b);
dout.close();
System.out.

txt读出来的东西都是String型的,你要硬去读int,float,boolean型也是先读出String型之后再转换成相应类型。
直接去读这种非String型的话他会把字码给你拆开,所以你得到的会是乱码。