Я пытаюсь сохранить текст и значение int в двоичном файле, но он не работает должным образом.
Это мой код.
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.util.Scanner;
import java.io.InputStreamReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.FilterOutputStream;
import java.io.FileOutputStream;
import java.util.Random;
public class Test{
public static void main(String[] args) throws FileNotFoundException, IOException {
Scanner input=new Scanner(System.in);
System.out.println("Enter first name of doctor : ");
String fn=input.next();
System.out.println("enter middle name of doctor : ");
String mn=input.next();
FileOutputStream os=new FileOutputStream("Doctorsdata.txt");
DataOutputStream file=new DataOutputStream(os);
file.writeUTF(fn.trim());
file.writeUTF(mn.trim());
FileInputStream osb=new FileInputStream("Doctorsdata.txt");
DataInputStream osa=new DataInputStream(osb);
System.out.println("a "+osa.readUTF());
System.out.println("b "+osa.readUTF());
file.close();
}
}
Это мой ввод
fn mn Output
abc def ̀a扡c搃晥
abc defg abc defg
Если я напишу fn и mn одинаковой длины, это будет работать, а если они не одинаковой длины, это не будет работать, как описано выше.Также, если у меня есть 3-я переменная типа byte, и я напишу как file.writeByte(age);
в случае первого ввода, это не будет работать.
Что я делаю не так?
Спасибо.