2012-01-31 8 views
1

私はアプリケーションで使用できるようにいくつかのデータをスクレープしようとしています。java.io.FileNotFoundException

私はデータを下車しようとしているサイトはヤフーですが、私はでデータをストリーミングしようとしているにFileNotFoundExceptionを取得しています。

私も明示的にIPアドレスとポートを設定しています。

私が間違っている場所を誰かが教えてくれれば本当にありがたいです。

サンプルコードも掲載しました。

parentUrl = "http://www.yahoo.com"; 
pageUrl = new URL(parentUrl); 
System.out.println(parentUrl); 

try { 
    in = new BufferedReader(new InputStreamReader(pageUrl.openStream())); 
} catch(Exception ex2) { 
    ex2.printStackTrace(); 
} 

while ((inputLine = in.readLine()) != null) { 
    out.write(inputLine); 
    in.close(); 
} 

out.close();  
+1

'out'を構成するコードを表示する必要があります。それは問題がどこにあるのだろう。 –

+8

また、読み込みループ内で 'in.close()'を呼び出すことにも注意してください。これで複数の行を読むことは決してできません。 –

+0

@CameronSkinnerは正しいです。 'while'ループから' in.close() 'を削除するだけです。 – Dawood

答えて

1

問題は初期化のoutです。あなたは私たちにそのコードを示していないが、それはのようなものになります。

OutputStream out = new FileOutputStream("non/existent/path/somefilename"); 

それはとてもあなたがそれをデバッグするために、相対パスを使用したため、あなたに、おそらくですが、私はあなたにそれを変更お勧めします。

File file = new File("non/existent/path/somefilename"); 
System.out.println(file.getAbsolutePath()); // start with this simple debugging 
OutputStream out = new FileOutputStream(file); 

私の推測では、ファイルのパスはあなたが思うところではないということです。

関連する問題