重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

以下のようなソースを用意しました。
これでFileRead.csvというファイルが
作成されたはずです。
しかし、そのファイルがどこにも
見当たりませんし、
入っているはずのstrlinesという
文字列も入っていません。
どこが悪いのでしょうか?
また、ファイルはどこにあるのでしょうか?

PrintWriter writer = null;
writer = new PrintWriter(new BufferedWriter(new FileWriter("FileRead.csv")));
writer.println("strlines");
writer.close();

A 回答 (4件)

いろいろ検討しましたがサーバー上にあるFileReadと


いうかサーバー上に記録したFileReadを クライアントでダウンロードしたいという感じでしょうか。

WriteFile5.jsp
<%@ page contentType="text/html; charset=Shift_JIS"
import="java.io.*" %>

<% try {
String filename = "C:\\FileRead.csv";

// コンテンツ タイプを "APPLICATION/OCTET-STREAM" に設定します。
response.setContentType("APPLICATION/OCTET-STREAM");

// http content-disposition ヘッダーを初期化し
// 添付ファイルと既定のファイル名 "myFile.txt" を
// 指定します。
String disHeader = "Attachment;filename=\"FileRead\"";

response.setHeader("Content-Disposition", disHeader);

// ファイルをバイト単位で応答オブジェクトに転送します。
File fileToDownload = new File(filename);
FileInputStream fileInputStream = new
FileInputStream(fileToDownload);
int i;
while ((i=fileInputStream.read())!=-1)
{
out.write(i);
}
fileInputStream.close();
out.close();
}catch(Exception e) // ファイル IO エラー
{
e.printStackTrace();
}
%>

参考URL:http://www.microsoft.com/japan/msdn/asp.net/usin …
    • good
    • 0
この回答へのお礼

教えていただきありがとうございました。
HTTP protocolについて知識がほとんど皆無に近く、
ソースを直す能力すら無い状態です。
とりあえずコンテクストを
修正してtry~catchを追加する
ことでうまくいきました。
つたない説明でよく理解してくれたと
感激です。
ありがとうございました。

お礼日時:2006/06/01 13:30

まったくやりたことが見えてこないんですが、とりあえず問題は解決したのでしょうか?



ダウンロードと、この質問の内容は無関係ですよ。

ダウンロードというのは、サーブレットからのことでしょうか。
生成したCSVファイルをServletResponse#getOutputStreamで取得したServletOutputStreamに出力してもダメですか?
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございました。
まさに、ファイルの作成とファイルのダウンロードを
分けて考えていなかったのが根本的な原因でした。
ありがとうございます。

お礼日時:2006/06/01 13:32

>("FileRead.csv")


フォルダ名がJavaの場合
("C:\\Java\\FileRead.csv")
のようになるのでないでしょうか。

この回答への補足

確かにそうです。
ただ、ダウンロードする側が自分以外の場合、
どんなフォルダを作っているかわからないので
C:\\Java\\FileRead.csvのような書き方が
出来るのかどうか不安なのです。
大丈夫なのでしょうか??

補足日時:2006/05/30 17:35
    • good
    • 0

例外も発生してないのであれば、おそらくjavaコマンドを発行したルートパスになると思います。

この回答への補足

ありました!
検索しても出てこなかったのですが・・・
ありがとうございます(ミ ̄ー ̄ミ)
ただ、保存しないで開くを選ぶと白紙の
エクセルファイルが出てきます。どうして
表示されないのでしょうか・・・?
(j o j)

補足日時:2006/05/30 17:11
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!