【初心者歓迎】Java質問・相談スレッド65 Update 2

このエントリーをはてなブックマークに追加
149前スレ943
>>145

//ファイル存在チェック
File objFile = new File(strFileAddress);

if (objFile.exists() == true && objFile.isDirectory() == false){
} else {
Err_Msg = "指定したファイルが存在しません。";
return false;
}
コードはこんな感じです。

strFileAddressには文字列で画面から取得してきたアドレスが入ります。

sv1:ファイルサーバ
sv2:APサーバ
pc1:クライアント
sv1のC:\直下にbook1があるときに、
sv2のB:\にsv1のC:\を割り当て、B:\book1.xlsと画面で入力する。・・・ファイルが存在しません。
\\sv1\C\book1.xlsと入力・・・ファイルが存在しません。
sv2にてエクスプローラのアドレスバーに上記入力した場合には、ファイルが見れます。

上記で、sv2上のファイルは存在があれば抜けているのですが、
sv1のファイルをチェックしようとすると、全てexistsがfalseになるようなのです・・・
150デフォルトの名無しさん:2005/06/20(月) 11:01:26
>>149
俺ならあちこちにSystem.out.println()を挿入して、
変数内容を表示させてみる。
あと、Fileを使うときは、File#list()を取得してみる。
初めからbooleanばかりじゃわかりにくいからね。
151デフォルトの名無しさん:2005/06/20(月) 11:29:33
>>150
やってみました

//ファイル存在チェック
strFileAddress = "\\sv1\C\book1.xls"
File objFile = new File(strFileAddress);

System.out.println(objFile);
System.out.println(FileAddress);
System.out.println(objFile.length());
System.out.println(objFile.lastModified());
System.out.println(objFile.list());

if (objFile.exists() == true && objFile.isDirectory() == false){
} else {
Err_Msg = "指定したファイルが存在しません。";
return false;
}

結果
\\sv1\C\book1.xls
\\sv1\C\book1.xls
0
0
null

でした・・・
152デフォルトの名無しさん:2005/06/20(月) 11:31:54
>>149
System.getProperty("user.name")の値は想定している
ユーザ名になっているかとかアクセス権がらみはOK?
153デフォルトの名無しさん:2005/06/20(月) 11:43:22
2次方程式の虚数解を求めるプログラムで、
iをどうやって定義すればいいんですか?
154デフォルトの名無しさん:2005/06/20(月) 12:10:05
>>152
System.getProperty("user.name")
がSYSTEM
となっているのですが、これって・・・?どういう意味でしょう??
155デフォルトの名無しさん:2005/06/20(月) 13:03:15
>>153
実数とは別の変数に保存
156デフォルトの名無しさん:2005/06/20(月) 13:04:23
>>154
それって、administratorでログインしてるのかな?
157デフォルトの名無しさん:2005/06/20(月) 13:06:41
>>153
グローバル変数で、ルート(ー1)とする
158デフォルトの名無しさん:2005/06/20(月) 13:14:11
>>156
すみません・・・マジでそこすら分からない・・・

どうやったら確認できますか?
159デフォルトの名無しさん:2005/06/20(月) 13:19:19
質問です。
小数点のある計算が意図した結果にならず、悩んでおります。
うまく処理する方法をおしえてください。

double yy = 18.33;
double hh = 100;
System.out.println(yy*hh);
----------------------
1832.9999999999998 (結果)
1833.0(←この結果を期待しています)
160デフォルトの名無しさん:2005/06/20(月) 13:22:39
>>158
ログアウト?(だっけ?Windowsの場合)して、表示されている名前を見ろ
(下にパスワード欄があったはず)
それがadministratorだったら、非常にまずい。
161デフォルトの名無しさん:2005/06/20(月) 13:23:34
>>159
>>1とか読んでる?
162159:2005/06/20(月) 13:47:05
>161 様
wikiをよんでみましたが、該当箇所がみつかりませんでした。
またgoogleで小数点・java のキーワードで検索もしました。

ttp://web.hc.keio.ac.jp/~fujimura/lang/page-7-1.html
(上記の結果が最も参考にはなりそうでした。)

単純な計算を複雑な処理をしなければならないところ
(基準が難しいところですが)に疑問をもったため、
質問させていただきました。簡単な方法をご存知でしたら、
ご教授ください。よろしくおねがい致します。
163デフォルトの名無しさん:2005/06/20(月) 13:52:31
>>160
pc1については、私のPCなのでUserNameはMyNameでした。
sv2については、administratorではありませんでしたが、
sv1については、administratorのようです。

えっと・・・マズイんですか・・・??(汗
164159:2005/06/20(月) 14:03:55
自己レスです。
double yy = 18.33;
double hh = 100;
System.out.println(yy*hh);
NumberFormat formatter = NumberFormat.getNumberInstance();
formatter.setMaximumFractionDigits(2);
formatter.setMinimumFractionDigits(2);
System.out.println(formatter.format(yy*hh));
このあたりで解決していきたいとおもいます。ありがとうございました。
165デフォルトの名無しさん:2005/06/20(月) 14:05:18
>>154
SYSTEMはWindowsでサービスを動かすときのデフォルト
アカウント。当然ファイルサーバ側の共有リソースの
設定で権限が与えられていなければアクセスすることは
できない。

というわけで次はファイルサーバ側の共有フォルダの
アクセス権とファイルシステム上でのアクセス権の
チェックをすること。

つーか、もうJavaの話じゃないから、もし自分の理解の
範疇を超えていたらPC初心者板に移動してください。

166前スレ943:2005/06/20(月) 14:31:07
>>165
ファイルサーバ側の共有フォルダの
アクセス権とファイルシステム上でのアクセス権の
チェック

これはPC初心者板で聞いたほうが良いってことですかね・・・
167デフォルトの名無しさん:2005/06/20(月) 14:46:12
JavaというよりはWindowsネットワークの基本的なお話ですな
ユーザーがいないとか権限がないとかだと思うけど
168デフォルトの名無しさん:2005/06/20(月) 15:16:37
>>167
なるほど・・・ちょっとPC初心者板に行って来ます。

もし、それでも分からなかったら再度お聞きして宜しいですか?