0

こんにちは、ファイルがまだ存在しない場合は、ファイルを作成しようとしています。次に、ファイルがまだ存在しない場合は 11 行に 11 個のゼロを書き込み、それを 2 次元配列に読み取ります。しかし、アプリがクラッシュし、logcat に「java.io.FileNotFoundException: /FILENAME: open failed: ENOENT (No such file or directory)」というメッセージが表示されました。誰かが私を助けてくれれば本当に感謝しています。これが私のコードです:

public void empt(String fileName) {

    File file = getBaseContext().getFileStreamPath(fileName);
    if(file.exists()){
        return 1;
    }
    else return 2;
 }


 public int[][] readFile2(String fileName) {

     empt(fileName);
     if(empty == 1){

         FileOutputStream outputStream;
         String row = "0 0 0 0 0 0 0 0 0 0 0";
         String newline = "\n";

         try {
           outputStream = openFileOutput(fileName, Context.MODE_PRIVATE);
           for(int i = 0; i <11; i++)
             {
                 if(i == 10){
                     outputStream.write(row.getBytes());
                 }
                 else {
                 outputStream.write(row.getBytes());
                 outputStream.write(line.getBytes());
                 }
             }
           outputStream.close();
         } catch (Exception e) {
           e.printStackTrace();
         }

     }


      String line = "";
      int[][] data = new int [11][11];
      try {
       BufferedReader br = new BufferedReader(new FileReader(fileName)); 
      int i = 0;
       while((line = br.readLine()) != null) { // line becomes the whole line ( 11 numbers on a row)
        String[] theline = line.split(" "); // theline becomes an array with 11 numbers


            for(int k = 0; k<11; k++)
            {   
                data[i][k] = (Integer.parseInt(theline[k]));
            }
        i++;
       }
       br.close();
      }
      catch(FileNotFoundException fN) {
       fN.printStackTrace();
      }
      catch(IOException e) {
       System.out.println(e);
      }
      return data;
     }
4

1 に答える 1