Why fileOutputStream.write(b); is wrong and fileOutputStream.write(b.toString().getBytes(); is correct?
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));

       String name1=reader.readLine();
       String name2=reader.readLine();

       FileInputStream inputStreamReader=new FileInputStream(name1);

       StringBuilder stringBuilder=new StringBuilder("");

       while(inputStreamReader.available()>0) //reading
       {
           stringBuilder.append((char)inputStreamReader.read());
       }

       inputStreamReader.close();

       String data=stringBuilder.toString();

       System.out.println(data);

       String[] tableString=data.split(" ");
       ArrayList<Byte> bytes=new ArrayList<>();

       for (String s: tableString)
       {
           bytes.add((byte) Math.round(Double.parseDouble(s)));
       }

       FileOutputStream fileOutputStream=new FileOutputStream(name2);

       for (Byte b:bytes) //writting
       {
           System.out.println(b);

           fileOutputStream.write(b);//.toString().getBytes()
           fileOutputStream.write((" ").getBytes());
       }

       fileOutputStream.close();
   }