将2d数组写入需要看起来像数组的文件

时间:2014-05-01 08:24:30

标签: java multidimensional-array

我有以下代码创建并写入文件,但它将所有内容写在一个实线中。

示例:11111111111111111111111111

我需要它看起来如下(每个数字之间的空格):

1 1 1 1 1 1 
1 1 1 1 1 1
1 1 1 1 1 1

这是我的代码:

public void saveFile()
{
   String save = "Testing";
   JFileChooser fc = new JFileChooser();
   int returnVal = fc.showSaveDialog(null);


    if (returnVal == JFileChooser.APPROVE_OPTION) {
        try {
            FileWriter bw = new FileWriter(fc.getSelectedFile()+".txt");

            for(int row = 0; row < gameArray.length; row++)
           {
               for(int col =0; col < gameArray[row].length; col++)
               {

                  bw.write(String.valueOf(gameArray[row][col]));
                  System.out.println(gameArray[row][col] + " ");
                  System.out.println();
               }
           }
            bw.close();

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

}

3 个答案:

答案 0 :(得分:0)

这是因为你没有在它们之间留出空间。

bw.write(String.valueOf(gameArray[row][col]));
bw.write(" ");

并在内循环结束时再次

bw.write("\n");

答案 1 :(得分:0)

这应该适合你:

public void saveFile()
{
   String save = "Testing";
   JFileChooser fc = new JFileChooser();
   int returnVal = fc.showSaveDialog(null);


if (returnVal == JFileChooser.APPROVE_OPTION) {
    try {
        FileWriter bw = new FileWriter(fc.getSelectedFile()+".txt");

        for(int row = 0; row < gameArray.length; row++)
       {
           for(int col =0; col < gameArray[row].length; col++)
           {

              bw.write(String.valueOf(gameArray[row][col]);
              if ((col+1)!=gameArray[row].length)
                 bw.write(" ");
              System.out.println(gameArray[row][col] + " ");
              System.out.println();
           }
              bw.write(System.getProperty("line.seperator"));
       }
        bw.close();

    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

}

答案 2 :(得分:0)

在内循环结束时写bw.write("\n")

就像:

for(int row = 0; row < gameArray.length; row++)
       {
           for(int col =0; col < gameArray[row].length; col++)
           {

              bw.write(String.valueOf(gameArray[row][col]));
              System.out.println(gameArray[row][col] + " ");
              System.out.println();
           }
           bw.write("\n")
       }
相关问题