- - PR -
ファイルロックについて
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-01-14 10:46
さくらばさん,ご指摘ありがとうございます。
そうだったんですね。わたしが勘違いしていました。 わたしもその後の皆さんの書き込みを見て,「あれっ?」と思ってました。 # 以前,Mapped Fileの代替手段として調査していたので・・・。 誤った情報を書き込んでしまい,申し訳ありませんでした。 皆さんのフォローに感謝,です・・。 | ||||||||
|
投稿日時: 2003-01-14 15:29
みーちくです。
さくらばさんのソースを元にテストいたしました。 ソースはそのまま使わせて頂きました。 朝からがんばって、ソースを解析しながらテストを続けているのですが。 どうしても最初のスペースがとれません。 (1)1行目に必ず空白文字(スペース)がはいってしまう。 ByteBufferUtility.printByteBuffer(buffer);を指定して出力したのが 下記↓になります。
| ||||||||
|
投稿日時: 2003-01-14 17:30
みーちくです。
いろいろテストしてみたのですが。 同じソースをWindows環境で動かした場合は正常に動作します。 Linux環境で動かした場合に、1行目に空白のスペースが入ってしまいます。 どなたか原因がわかる方いらっしゃいますか? 宜しくお願い致します。 | ||||||||
|
投稿日時: 2003-01-16 00:19
こんにちは、さくらばです。
すいません、Linux では検証してませんでした。
どうも Linux だと channel.truncate(0) をコールした後も channel の position が変更されないようです。Windows だと position は 0 になるので、てっきり他のプラットフォームで もこうなるのかと思っていました。 したがって、Linux で正常に動作させるには
のように、truncate した後に position を 0 にすればいいようです。 | ||||||||
|
投稿日時: 2003-01-16 11:52
こんにちわ。みーちくです。
さくらばさん。返信ありがとうございます。 私もさくらばさんのページを参考に[Buffer → Channel → FileChannel]と勉強し、 がんばって考えて channel.position(0);に到達することができました。 昨日、こちらの掲示板が不調だったので、書き込めなかったのですが、 channel.position(0);にすることで、Linuxでも正常に動作いたしました。 ありがとうございました。 | ||||||||
