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を行う必要があり
あなたが」であなたのファイルを持っていない理由thatsのあなたのCSVファイルは空ですか? – Makoto
ではなく、PrintWriterを独立して含むtry catchセクションを作成するとファイルを作成しますが、 'Lat' 'Long' String変数にはアクセスできず、nullにする必要があります。 – kastsabug
デバッガを使用してコードをステップ実行しようとしましたか?これにより、コード内の各ポイントでどのような変数が設定されているかを正確に確認することができます。 – Jason