• ベストアンサー

ファイルの受け渡し方法教えてください。

JAVAでこんな処理をしたいのですが、プログラムの書き方を教えて頂けませんでしょうか? (1)サーバーにあるXMLファイルを受け取る。 (2)受け取ったXMLファイルを上書き保存する。 (3)そのXMLファイルを送り返す。 ポイントはXMLファイルなんですが、やり方が見当つきません。ご教授願います。 もし、これがテキストファイルだったら簡単にできるのでしょうか?両方、やり方がわかれば教えてください。

  • Java
  • 回答数6
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • hogefuga
  • ベストアンサー率75% (6/8)
回答No.6

こんにちは。 もう少しFlexについて調べてみました。Flexってすごいですね!!値段が高いので個人では使えないですが。:( 仕様はFlexでサーバにあるXMLファイルを編集したいということでよろしいでしょうか? 私の頭の中で考えた方法ですが、以下のようにすればできると思います。実際に動かしてないので間違ってるかもしれませんが…。 サーバ側のJavaプログラムは、XMLを受け取って保存するメソッドを作成します。引数はString型がいいと思います(この引数にXMLが入れられます)。String型の変数をハードディスクに保存するには以下の様にFileWriterクラスを使えばできます(ただし、排他制御は考えに入れてないです)。 Writer writer = new FileWriter("ファイル名"); writer.write(xml); あとはmxmlファイルにテキストを表示・更新するエリアと、上記クラスのメソッドを呼び出すボタンを作成すればいけるはずです。場合によっては、最初に表示するXMLを取得するメソッドを、サーバ側に実装しなければいけないかもしれません。

momoko1234
質問者

補足

アドバイスありがとうございます。Flexは150万くらいしますよねぇ。高いです。 でも、お試し用で50日間ライセンスが貰えるのがあるので、是非ダウンロードして 使ってみたください。 私が作っている部分はブログにUPしました。サーバーサイド部分はできていないので、 MXMLの部分と、読み込んでくるXMLファイルの部分だけですが・・・。 http://blog.goo.ne.jp/piano_s/ それと、サーバーサイドなのですが、こういうのは使えませんかね?↓URL参照。 http://www.stackasterisk.jp/tech/java/upload01_01.jsp

その他の回答 (5)

  • hogefuga
  • ベストアンサー率75% (6/8)
回答No.5

少しFlexのことを調べてみました。 まず、FlaxのUI(ユーザインタフェース)の部分はFlashで実装されていますよね?ということはブラウザ(クライアント)側で起動しています。この、クライアント上で起動しているUIにFlexサーバにあるXMLファイルを表示させ、クライアントのHDDにファイルを保存したいということでしょうか?それともクライアント側でFlexのMXMLを編集したいのでしょうか?もしくはサーバ側で動的にMXMLを作成したいということでしょうか? 他の方が書かれているようにXMLフォーマットを動的に扱うためにはXMLパーサを使用しますが、これはXMLフォーマットのデータを動的に作成や編集するために使用します。もし、ただXMLファイルを保存したい場合は別の方法となります。 それからWEB+DBの最新号に記事があったような気がします。参考URLを見てみてください。

参考URL:
http://www.gihyo.co.jp/magazines/wdpress
momoko1234
質問者

お礼

アドバイスありがとうございます。Flexの開発日記をつけてみようと思っています。こちらにソースなどを掲載する予定です。宜しくお願い致します。 http://blog.goo.ne.jp/piano_s/

momoko1234
質問者

補足

hogefuga様 Flexのことをわざわざ調べて頂いたなんて感激です。ありがとうございます。周りにFlexを使える人がいなくて、聞ける相手もいないので本当に困り果てています。 ■仕様確認 (1)クライアント上で起動しているUIにFlexサーバにあるXMLファイルを表示させる。 (2)クライアント上からXMLファイルを書き換える。 (この時点で書き換えているように見えるのはメモリ上でのことなので実際は、保存はできていない。) (3)書き換えたデーターをJAVAサイドに渡してJAVAサイドで保存をする。 (4)保存が完了したら、保存ができたことをクライアント側に送り「更新完了」のポップアップを表示させる。 WEB+DBの最新号、持っています。Flexについてちょっと出ていましたが、シーサーを使って作っているみたいですよね。シーサーの使い方がイマイチわからないのです・・・。 お手数お掛けしますが、宜しくお願い致します。 ■FlexのAPIリファレンスです。 http://www.macromedia.com/support/documentation/jp/flex/1_5/asdocs_jp/asdoc-title.html

  • neuron-x
  • ベストアンサー率52% (139/266)
回答No.4

JDomのサンプルなどは、次のサイトなどが分かりやすいのではないでしょうか。 http://www.ncfreak.com/magazine/No.003/xom.html # Flexを使っているのですね。 # これからFlexは伸びてくると思うので、 # 私も使ってみたい所です…。

momoko1234
質問者

お礼

neuron-x様 ありがとうございます。参考にしてみます。 はい。Flexを使っています。ただ、書籍などが出ていないことと、使える人が周りにいないので、本当に苦戦中です。何か情報などございましたら、教えてやって下さいませ。宜しくお願い致します。

momoko1234
質問者

補足

仕様で、「Flex上で、データベースにあるXMLファイルを読み込んで画面に表示させます。」と書きましたが、データベースではなくて、サーバーの間違いです。 すみません。。。

  • neuron-x
  • ベストアンサー率52% (139/266)
回答No.3

XMLの読み書きをJavaで行いたいということでしょうか? XMLをJavaで解析する場合、XMLパーサと呼ばれる物を使います。パーサには様々な種類がありますが、Javaに最適化されているJDom(URL参考)などがおすすめです。 XML操作のAPIとしては、SAX、DOMなどがあります。 用途に分けて、SAX、DOMなどを使い分けるのですが、XML操作が初めてならSAXの方が簡単かもしれません。

参考URL:
http://www.jdom.org/
momoko1234
質問者

補足

neuron-x様 回答ありがとうございます。 XMLパーサーですか。調べてみます。 もし可能でしたらサンプルソースなどございませんか?初心者なので、混乱しています。 宜しくお願い致します。

  • hogefuga
  • ベストアンサー率75% (6/8)
回答No.2

追加です。 補足説明では、以下のようなことを説明していただくと答えやすいです。 1.サーバーとは何のサーバーか。ApacheのようなWebサーバなのかTomcatのようなアプリケーションサーバなのか、はたまた独自のサーバなのか。また、そのサーバ上ではどのようなソフトが動作しているのか。独自のソフトを動作させることは可能なのか。 2.受け取ったXMLファイルを上書き保存するとは、どのに保存するのか(ハードディスク?データベース?)。誰が受け取るのか。 3.XMLファイルを送り返すとは、サーバから受け取ったXMLファイルのこと?(サーバから送られてきたファイルと同じファイルを同じ相手に送り返すのですか?) 以上、宜しくお願いします。

momoko1234
質問者

補足

hogefuga様 お返事ありがとうございます。 説明不足ですみません。 マクロメディアのFlexというものを使って、管理画面を作成したいのですが、サーバーサイドに接続することで悩んでいます。 Flex アプリケーションは直接データベースにアクセスする機能を持っていません。サーバーサイドコンポーネントを実装し、これと連携を取る必要があるそうなので、JAVAサイドの部分を作りたいのですが、 それで行き詰っております。 ■仕様 (1)Flex上で、データベースにあるXMLファイルを読み込んで画面に表示させます。 (2)画面に表示させたファイルの内容を、ユーザーが書き換えます。ここで書き換えられているデーターはメモリ上に書き換えているので、実際は保存できていません。 (3)その書き換えたファイルの内容をJAVAなどに引き渡してJAVA側でXMLファイルを保存する。 (4)保存が成功した場合、Flex側で「更新完了しました」とポップアップを表示させる。 (2)までできているのですが、(3)と(4)のやり方がイマイチわかりません。ポイントはXMLファイル更新なのですが・・。 Flexの詳細URL http://www.atmarkit.co.jp/fwcr/rensai/flex01/flex01_1.html 1.サーバーとは何のサーバーか。ApacheのようなWebサーバなのかTomcatのようなアプリケーションサーバなのか、はたまた独自のサーバなのか。また、そのサーバ上ではどのようなソフトが動作しているのか。独自のソフトを動作させることは可能なのか。 この点については、明日確認して補足します。 2.受け取ったXMLファイルを上書き保存するとは、どのに保存するのか(ハードディスク?データベース?)。誰が受け取るのか。 受け取ったXMLファイルを上書き保存するのはデータベース上にあるXMLファイルです。 3.XMLファイルを送り返すとは、サーバから受け取ったXMLファイルのこと?(サーバから送られてきたファイルと同じファイルを同じ相手に送り返すのですか?) はい、そうです。でも、Flexに送り返す必要はないので、この部分はカットしてしまっても問題ないです。 ただ更新が正常にできたことをFlex側に送りたいのです。 宜しくお願い致します。

  • hogefuga
  • ベストアンサー率75% (6/8)
回答No.1

はじめまして。 これだけでは情報が少なすぎて確実な回答はできませんので、できればもう少し情報がほしいです。 それからXMLファイルというのはテキストで書かれていますので、テキストファイルでできることはXMLファイルにも当てはめることができるはずですよ。

関連するQ&A

  • XMLファイルのダウンロード

    こんばんは~ もしご存知でしたら教えていただきたいことがあります。 XMLファイルがサーバにあるとして、それってローカル(クライアント)に普通にダウンロードってできるものなんでしょうか??? JavaのServletを使って実装しているんですけど、javaファイルやCSVファイルのダウンロードはできるのにXMLファイルのダウンロードができません。 普通は保存とかキャンセルとかのボタンを押せるダイアログが出ますよね? でもXMLファイルだけはWEBブラウザに「XMLを表示できません」とでます。 XMLファイルってサーバーからクライアントにそのままダウンロードできないものなんですか??? 意味不明な点は補足させていただきますので、宜しくお願いします。

    • ベストアンサー
    • XML
  • ファイルの作成方法…

    VBでテキストファイルの中身を開くプログラムを作成しました。 そのテキストファイルの中身を変更(編集)し、それを同じファイルに上書き保存するのではなく、開いたファイルのある同じフォルダ内に新しいファイルを作り保存したいと思っています。  <例>test1.txtというファイルを開き中身を編集してそれを同じフォルダ内に新しくtest2.txtというファイルを作って保存するといった感じです。 そこで新しいファイル名で保存する(新しいファイルを作成する)方法を教えて欲しいんです、こんな説明で分かってもらえるか不安ですが…、どなたか分かる方教えていただけませんでしょうか? かなりの初心者なのですが、私でも理解できるようなプログラムだと嬉しいです。 よろしくお願いします。

  • テキストファイルを読み込んでランキング付けする方法

    タイトルのとおりですが、サーバーに保存してあるテキストファイルを読み込んで、 出現回数の多かったものを表示したいと考えています。 言語はRubyかできればJava scriptでと考えています。 テキストファイルには A B C A D のように一行ずつ語句が保存してあります。 よろしくお願いします。

    • ベストアンサー
    • Ruby
  • java FTPサーバーへファイルの保存

    お世話になっております、現在eclipseのjavaでエクセルを出力されるプログラムを作成しております。 このjavaで作成したものは誰でも起動し、エクセルを出力できるようになっています。 (Aさんがこのプログラムを起動し、エクセル出力をした、その次にBさんがこのプログラムを起動しエクセルを出力した場合には「Aさんの出力したエクセルファイルに上書き」がされるようになっています) 最初はDropboxの中に保存するようにしようと思ったのですが、各々のパソコンによってDropboxのある場所が違っている為(CドライブだったりDドライブだったり・・・) そこで調べたところFTPサーバーへの保存が一番確実性があるのではないかということでした。 FTPサーバーへのファイル保存を調べてみましたが、どうしたらよいのか全く分からず、お手上げ状態です。 FTPサーバーへのExcelファイル保存方法が紹介しているサイトや回答者様のお知恵を頂ければと思います。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • Java
  • テキストファイルを音声ファイルに変換する方法

    はじめまして。 標記の内容についてなにかご存知な方はいらっしゃいませんでしょうか? 現在Javaにて、テキストファイルを音声ファイルに変換する技術が必要となっております。 また、プログラムにより電話を鳴らし、生成した音声ファイルを再生する方法についても調査中です。 もし、このような技術をご存知の方がいらっしゃいましたら、ご教授願います。 なお、Javaに限らずその他の言語でもかまいません。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • XML形式のファイルの保存について

    こんばんは。XMLファイルをいじるという作業を始めて行ったのですが、フリーソフトをいただきXMLファイルを一通りいじり、上書き保存しておいたところ、データの書き換えが行われておりませんでした。新規で別の場所に保存してみてもファイルが現れませんでした。どうすれば保存できるでしょうか?

  • ファイル操作について

    作りたいものとして、あるサーバーから元となるファイルをコピーして、そのコピーしたファイルの特定の文字列を置換したものを上書きしたいのですが。 現在、サーバーからサーバーへのコピーまではうまくいってるのですが、そのファイルを読み込んで値を書き換えて保存というところができません。 $all=fread(fopen($file,"rb"),filesize($file)); これだと読み込んで書き込むという処理にはならないのでしょうか?

    • ベストアンサー
    • PHP
  • リッチテキストのファイルの復元

    XPです。 先日、リッチテキストのファイルを開き、上書き保存してワードバッドを終了しました。 そしてその後再びそのファイルを開いてみると、内容が尻切れになっています。 自分で後半部分を削除して上書きしたわけではありません。 どうやら上書きに失敗して(途中までしか保存されなくて?)破損してしまったらしく、WORDなど他のソフトで開こうとすると固まってしまいます。 復元できる可能性のありそうな方法がございましたら、ご教授頂ければ。

  • unicodeファイルの読み込み

    javaアプレット上で BufferedReader file = new BufferedReader(new FileReader("C:/test/list.txt")); で外部テキストファイルを読み込んでいるのですが、この外部テキストファイルの文字コードをANSIからUnicodeに変えるとプログラムが動かなくなります。日本語やアルファベットではない文字の保存のためにテキストをUnicodeにて保存しなければならないのですが、どうすればUnicodeのテキストファイルを読み込むことができますか。

    • ベストアンサー
    • Java
  • 上書き前のファイルに戻す方法は?

    エクセルでマイ ドキュメントに保存していたファイルを間違ってFDの古い同じ名前のファイルで上書きしてしまいました。 上書き前のファイルに戻す方法はありますでしょうか? 大変困っています。 ご教授いただけましたら幸いです。