Java 从具有意外输出的文件中读取

Java 从具有意外输出的文件中读取,java,file-handling,Java,File Handling,我正在使用FileOutPutStream中可用的writeint方法将一组整数写入文件testingfile.txt。我创建了一个readMethod方法,该方法使用DataInputStream中可用的方法从文件中读取整数。但是从文件中读取会给我不同的输出。它与我写入的数据不同。为什么我的输出不同?有人知道吗请更正我的代码或告诉我原因? 输出为:1665941815 无效写入b 将指定的字节写入此文件输出流 在JavaSE文档中,write方法用于写入字节,但不写入int,即使它接收int值

我正在使用FileOutPutStream中可用的writeint方法将一组整数写入文件testingfile.txt。我创建了一个readMethod方法,该方法使用DataInputStream中可用的方法从文件中读取整数。但是从文件中读取会给我不同的输出。它与我写入的数据不同。为什么我的输出不同?有人知道吗请更正我的代码或告诉我原因? 输出为:1665941815

无效写入b 将指定的字节写入此文件输出流

在JavaSE文档中,write方法用于写入字节,但不写入int,即使它接收int值作为参数


也许你需要改用DataOutputStream。

非常感谢。这是否意味着即使我隐式写入int,它也会转换为字节并写入文件?是的,确实如此。所以你最好保管好文件。
import java.io.DataInputStream;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.InputStream;


class Myclass
{
    public static void main(String args[])
    {
        try{
                //writing data into file from byte stream i.e FileOutputStream and  reading from DataInputStream    
                int data[]={99,76,65,55,99};
                FileOutputStream fout=new FileOutputStream("C:\\Users\\dell\\Desktop\\testingfile.txt");

                for(int i:data)
                {
                    fout.write(i);
                }
            Myclass m=new Myclass();
            FileInputStream fin=new FileInputStream("C:\\Users\\dell\\Desktop\\testingfile.txt");
            m.readMethod(fin);
            }catch(Exception e)
            {
                System.out.println("Exception caught");
            }
    }

 void readMethod(InputStream obj)
  {
    try{
        DataInputStream din=new DataInputStream(obj);//noe datainputstream has only one constructor with parameter of Inputstream
        int d;
        while((d=din.readInt())!=-1)
        {
            System.out.println(d);
        }
    }catch(Exception E){}

  }