wxx
220
2019-12-13 15:17:49
0
172

java.io.FileNotFoundException에러


디버깅을 하면 위에서부터 BufferedReader까지 되고 그 밑의 while문을 건너뛰고 바로 catch문으로 갑니다 catch문을 보면 java.io.FileNotFoundException:(내가 사용한 url)가 뜹니다. 티맵api를 사용하여 길찾는 경로까지는 완료하였으나 시간을 웹페이지와 통신하여 가져올려고 합니다. 저 url가 잘못된건가여

              try {
                                URL url = new URL("https://apis.openapi.sk.com/tmap/routes?version={version}&callback={callback}"); //요청 URL을 입력
                                conn = (HttpsURLConnection) url.openConnection();
                                conn.setRequestProperty("Accept", "application/json");
                                conn.setRequestMethod("POST"); //요청 방식을 설정 (default : GET)
                                conn.setDoInput(true); //input을 사용하도록 설정 (default : true)
                                conn.setDoOutput(true); //output을 사용하도록 설정 (default : false)
                                conn.setConnectTimeout(60); //타임아웃 시간 설정 (default : 무한대기)

                                OutputStream os = conn.getOutputStream();
                                BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8")); //캐릭터셋 설정

                                writer.write(
                                        "startX=126.9850380932383"+
                                                "&startY=37.566567545861645"+
                                                //목적지 위경도 좌표입니다.
                                                "&endX=127.10331814639885"+
                                                "&endY=37.403049076341794"+
                                                "&reqCoordType=WGS84GEO"+
                                         "&resCoordType=EPSG3857"+
                                        "totalValue=2"

                                ); //요청 파라미터를 입력
                                writer.flush();
                                writer.close();
                                os.close();

                                conn.connect();

                                BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8")); //캐릭터셋 설정
                                StringBuilder sb = new StringBuilder();
                                String line;
                                while ((line = br.readLine()) != null) {
                                    if(sb.length() > 0) {
                                        sb.append("₩r");
                                    }
                                    sb.append(line);

                                }
                                Toast.makeText(getApplication(),sb,Toast.LENGTH_LONG).show();


                            } catch (Exception e) {
                                e.printStackTrace();
                            } finally {
                                if(conn != null) {
                                    conn.disconnect();
                                }
                            }
                        }catch  (Exception e) {
                            e.printStackTrace();
                        }
                    }
                });


0
0
  • 답변 0

  • 로그인을 하시면 답변을 등록할 수 있습니다.