2017-05-31 14 views
1

何らかの理由で、try catchブロックにエラーがなく実行されたにもかかわらず、私のプログラムはファイルに書き込みません。 tryブロックにアクセスできず、このファイルを作成できない理由はありますか?try catchブロック内のコードへのアクセスと実行の問題

public static void main(String[] args) { 
    BufferedReader crunchifyBuffer = null; 
    try { 
     String crunchifyLine; 
     crunchifyBuffer = new BufferedReader(new FileReader("/Users/moo/Desktop/test.csv")); 
     // How to read file in java line by line? 
     while ((crunchifyLine = crunchifyBuffer.readLine()) != null) { 
      ArrayList<String> parsedData = new ArrayList<String>(); 
      parsedData.add(crunchifyCSVtoArrayList(crunchifyLine).get(0)); 
      parsedData.add(crunchifyCSVtoArrayList(crunchifyLine).get(7)); 
      parsedData.add(crunchifyCSVtoArrayList(crunchifyLine).get(8)); 
      System.out.println("\n"+ parsedData + "\n"); 
      String ID = parsedData.get(0); 
      String[] aVPayload = new String[3]; 
      aVPayload[0] = ID; 
      String holder = sdkCall(aVPayload); 
      try { 
       JSONObject jsonObj = new JSONObject(holder); 

       String Lat = jsonObj.getJSONObject("geo").getString("latitude"); 
       String Long = jsonObj.getJSONObject("geo").getString("longitude"); 


       try { 
        PrintWriter writer = new PrintWriter("addressValidityReport.txt", "UTF-8"); 
        writer.println("ID" + "\t" + "CSV Lat" + "\t" + "CSV Long" + "\t" + "Lat" + "\t" + "Long" + "\t" + "Status"); 
        while ((crunchifyLine = crunchifyBuffer.readLine()) != null) { 
         writer.println((crunchifyCSVtoArrayList(crunchifyLine).get(0)) + "\t" + (crunchifyCSVtoArrayList(crunchifyLine).get(7)) + "\t" + (crunchifyCSVtoArrayList(crunchifyLine).get(8)) + "\t" + Lat + "\t" + Long + "\t" + "FLAGGED" + "\n"); 
        } 
        writer.close(); 
       } catch (IOException e) { 
        System.out.println("ERROR, CHECK FILE PRINTING!"); 
       } 

      } catch (JSONException e) { 
       System.out.println("unexpected JSON exception"); 
      } 


     } 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } finally { 
     try { 

      if (crunchifyBuffer != null) crunchifyBuffer.close(); 
     } catch (IOException crunchifyException) { 
      crunchifyException.printStackTrace(); 
     } 
    } 
} 

実行されますが、ファイルは作成されません。 2つのキャッチ例外がこれを引き起こすでしょうか?ファイルに書き込まれるデータを強制的にクローズする前に、あなたは(writer.flushを行う必要があり

+0

あなたが」であなたのファイルを持っていない理由thatsのあなたのCSVファイルは空ですか? – Makoto

+0

ではなく、PrintWriterを独立して含むtry catchセクションを作成するとファイルを作成しますが、 'Lat' 'Long' String変数にはアクセスできず、nullにする必要があります。 – kastsabug

+2

デバッガを使用してコードをステップ実行しようとしましたか?これにより、コード内の各ポイントでどのような変数が設定されているかを正確に確認することができます。 – Jason

答えて

-1

)()、

のPrintWriter(ファイルのファイル、文字列のCSN) 自動なしで新しいPrintWriter、を作成します。指定されたファイルと文字セットで行のフラッシュを行います。

PRINTL()メソッドをチェックした後、私はそれはフラッシュを(しないだろうと思います)、あなたはおそらくあなたのデータを失うされている、とあなたが最後

関連する問題