01/10/2018, 14:32

Ghi mảng 2 chiều vào File

public class Takuzu {

    public static void main (String [] args){
        int i,j;
        int[][] a = new int[4][4];   
        try{
        FileOutputStream fos = new FileOutputStream(new File("D:\input.txt"));
        //FileWriter writer = new FileWriter(new File("D:\input.txt"));
        DataOutputStream dos = new DataOutputStream(fos);
        Scanner sc = new Scanner(System.in);
        for( i= 0;i<4;i++){
            for(j= 0;j<4;j++){
                a[i][j] = sc.nextInt();
                dos.write(a[i][j]);
            }
        }
        fos.close();
        dos.close();
        }catch (Exception e){};
    } 

chúc mừng năm mới mọi người, các anh chị cho em hỏi là đoạn code chạy ok nhưng mở file thì nó lại bị mã hóa là sao ạ. Em muốn ghi mảng 2 chiều vào file ạ. E cảm ơn

HK boy viết 16:41 ngày 01/10/2018

nó lại bị mã hóa

Bị mã hoá là thế nào hả bạn? Bạn show output được không?

tphan512 viết 16:32 ngày 01/10/2018

em mở input.txt ra thì nó chỉ chứa mấy ô vuông thôi ạ. em paste lên nhưng nó không hiển thị ạ.

HK boy viết 16:41 ngày 01/10/2018

Chụp màn hình lên bạn ơi…

tphan512 viết 16:40 ngày 01/10/2018

HelloWorld viết 16:40 ngày 01/10/2018

bạn tìm hiểu file nhị phân và file văn bản nha
Cái kí tự lạ lạ khi xem là do dữ liệu được ghi ở chế độ nhị phân, binary file. Về cơ chế lưu trữ khác với file văn bản, không có mapping bảng mã nên không đọc được đâu bạn

tphan512 viết 16:35 ngày 01/10/2018

mình hiều rồi. Nhưng cho mình hỏi mình muốn ghi mảng 2 chiều vào file thì code như vậy đã đúng chưa vậy?

HK boy viết 16:48 ngày 01/10/2018

Chú ý khi in mỗi số trên 1 dòng thì bạn in thêm dấu cách vào và sau khi in hết 1 dòng thì bạn in thêm 1 dấu xuống dòng cho dễ nhìn nhé.

HelloWorld viết 16:41 ngày 01/10/2018

bạn có thể ghi 1 phát cả cục obj đó, hoặc tách ra ghi từng phần tử mà

tphan512 viết 16:44 ngày 01/10/2018

làm sao để có thể xuống dòng khi hết dòng thế ạ?

HK boy viết 16:38 ngày 01/10/2018
for (i ...) { // i là chỉ số dòng 
    for (j ...) // j là chỉ số cột
        print(a[i][j], ' ')

    print('\n') // hết vòng for j là in hết dòng
}
INfo viết 16:35 ngày 01/10/2018

Bạn dùng printWriter nhé, Tìm hiểu trên mạng là biết

Bài liên quan
0