01/10/2018, 08:51

Thắc mắc về việc load sai dữ liệu

Chào mọi người. E là newbie
Hôm nay chạy chương trình nộp deadline e có 1 vấn đề không hiểu đó là khi chạy chương trình bằng netbeans, e nhập xuất file(BuffereBreader, BufferedWriter) thì khi mở file txt ra dữ liệu được ghi ra đúng theo mong muốn ( có unicode). Nhưng khi chạy file thực thi (jar trong mục dist) thì chương trình chạy nhưng xuất ra file sai(không đọc được unicode). E không hiểu tại sao lại có sự sai lệch này. Mong mọi người giúp đỡ ạ

Đỗ Trung Quân viết 11:05 ngày 01/10/2018

Nếu 2 máy có cùng version java thì anh nghĩ em đã để default charset hoặc không giống nhau nên khi đọc và ghi sẽ sai mã unicode.

Hoang Trong Nhan viết 11:02 ngày 01/10/2018

e chưa hiểu lắm a ạ. E chạy trên máy của e luôn và làm sao để sửa mong a và mọi người giúp đỡ

anon52681320 viết 10:56 ngày 01/10/2018

Việc build file jar em đang dùng ant hay maven ?

Hoang Trong Nhan viết 11:01 ngày 01/10/2018

E thấy file jar trong mục dist rồi e double click lên chạy chứ e còn chưa biết ant với maven là gì.

Đỗ Trung Quân viết 10:52 ngày 01/10/2018

Em ghi file như thế nào?. Up code lên đi em

Hoang Trong Nhan viết 10:54 ngày 01/10/2018

// Code của e nó như này ạ

         BufferedWriter bfWriter = new BufferedWriter(new FileWriter("myFavorite.txt", true));
          javax.swing.JOptionPane.showMessageDialog(this, "Lưu thành công!!!");
            bfWriter.write(cbWords.getSelectedItem().toString()+ "\n" );      
            bfWriter.close();
            }
            catch(IOException e)
            {
               System.out.println("Error: " + e.getMessage());
            }

Chạy trong netbeans thì nó lưu và xuống dòng ok. Còn e chạy xong ra thư mục dist chạy file jar thì nó xuất file ra nhưng không đúng định dạng và không xuống dòng luôn. Dù e có thử đổi FileWriter sang OutputStreamReader(new FileOutputStream(“myFavorite.txt”, “utf8”)); nhưng vẫn không ăn thua. Deadline thì đã nộp nhưng vẫn muốn biết tại sao. Mong mn giúp đỡ

Bài liên quan
0