<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DigiTechLog Dot Com &#187; user.dir</title>
	<atom:link href="http://digitechlog.com/tag/userdir/feed" rel="self" type="application/rss+xml" />
	<link>http://digitechlog.com</link>
	<description>Adobe AIR、Flex、Flash、Java</description>
	<lastBuildDate>Tue, 08 Nov 2011 12:46:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Javaでカレントディレクトリを移動することは可能？</title>
		<link>http://digitechlog.com/2008/12/23/is-it-possible-that-move-current-directory-in-java.html</link>
		<comments>http://digitechlog.com/2008/12/23/is-it-possible-that-move-current-directory-in-java.html#comments</comments>
		<pubDate>Tue, 23 Dec 2008 10:10:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[user.dir]]></category>
		<category><![CDATA[カレントディレクトリ]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2008/12/23/is-it-possible-that-move-current-directory-in-java.html</guid>
		<description><![CDATA[Javaの中で、カレントなディレクトリを移動させ、相対PATHで既存ディレクトリを認識させる場合がありませんか？

成功しましたか？

多分、OSのコマンド&#8221;CD&#8221;などを使えばできますが、OS依存になってしまいます。Javaの中でカレントディレクトリを移動する場合、System.setProperty()メソッドを利用して、&#8221;user.dir&#8221;を書き換えれば良いと思った方がいらっしゃるかもしれないですが、
実は、プログラムでカレントディレクトリを変更するのは、基本的に不可能です。

下記のソースと実行結果を見るとすぐ分かると思います。



import java.io.*;
class&#160;TestTest
{
public&#160;static void main(String args[])
{
System.out.println(”Current&#160;dir : ” + System.getProperty(”user.dir”));
System.out.println(”Move&#160;Dir !”);
System.setProperty(”user.dir”,”C:\\Java”);
System.out.println(”Current&#160;dir : ” + System.getProperty(”user.dir”));
File&#160;f = new File(”sub”);
System.out.println(”Dir&#160;existance : ” + f.exists());
}
}
出力結果： 
C:\Java\app&#62;java TestTest
Current&#160;dir : C:\Java\app
Move&#160;Dir !
Current&#160;dir : C:\Java
Dir&#160;existance : false ←trueにならない！
JAVA の基本機能（ＯＳ依存のＡＰＩを呼び出すなどをしないという場合）では、カレントディレクトリの移動はできないです。
Related Posts

Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス
Flosc(Flash OpenSound Control): flashと他のプラットフォーム同士でデータを送受信するJavaサーバー
JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ
OpenAMF: オープンソースのJava Flashリモートツール
Javaでデータをエクセルにエクスポートするクラスと使用例
Javaでsplitを使ってＣＳＶファイル読み込み
Eclipse: オープンソースの統合開発環境(IDE)である
ServeBox Foundry (sbasfoundry): オープンソースのFlex 2/3アプリケーションを開発するActionScript 3 / Javaフレームワーク

]]></description>
			<content:encoded><![CDATA[<p>Javaの中で、カレントなディレクトリを移動させ、相対PATHで既存ディレクトリを認識させる場合がありませんか？
</p>
<p>成功しましたか？
</p>
<p>多分、OSのコマンド&#8221;CD&#8221;などを使えばできますが、OS依存になってしまいます。Javaの中でカレントディレクトリを移動する場合、System.setProperty()メソッドを利用して、&#8221;user.dir&#8221;を書き換えれば良いと思った方がいらっしゃるかもしれないですが、</p>
<p>実は、プログラムでカレントディレクトリを変更するのは、基本的に不可能です。</p>
<p>
下記のソースと実行結果を見るとすぐ分かると思います。</p>
<p>
<span id="more-214"></span><br />
</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">import</span><span style="color: Gray;"> </span><span style="color: Blue;">java</span><span style="color: Gray;">.</span><span style="color: Blue;">io</span><span style="color: Gray;">.*;</span></li>
<li><span style="color: Green;">class</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">TestTest</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Green;">public</span><span style="color: Gray;">&nbsp;</span><span class="hl-types">static</span><span style="color: Gray;"> </span><span class="hl-types">void</span><span style="color: Gray;"> </span><span style="color: Blue;">main</span><span style="color: Olive;">(</span><span style="color: Blue;">String</span><span style="color: Gray;"> </span><span style="color: Blue;">args</span><span style="color: Olive;">[])</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Blue;">System</span><span style="color: Gray;">.</span><span style="color: Blue;">out</span><span style="color: Gray;">.</span><span style="color: Blue;">println</span><span style="color: Olive;">(</span><span style="color: Gray;">”</span><span style="color: Blue;">Current</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">dir</span><span style="color: Gray;"> : ” + </span><span style="color: Blue;">System</span><span style="color: Gray;">.</span><span style="color: Blue;">getProperty</span><span style="color: Olive;">(</span><span style="color: Gray;">”</span><span style="color: Blue;">user</span><span style="color: Gray;">.</span><span style="color: Blue;">dir</span><span style="color: Gray;">”</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">System</span><span style="color: Gray;">.</span><span style="color: Blue;">out</span><span style="color: Gray;">.</span><span style="color: Blue;">println</span><span style="color: Olive;">(</span><span style="color: Gray;">”</span><span style="color: Blue;">Move</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Dir</span><span style="color: Gray;"> !”</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">System</span><span style="color: Gray;">.</span><span style="color: Blue;">setProperty</span><span style="color: Olive;">(</span><span style="color: Gray;">”</span><span style="color: Blue;">user</span><span style="color: Gray;">.</span><span style="color: Blue;">dir</span><span style="color: Gray;">”,”</span><span style="color: Blue;">C</span><span style="color: Gray;">:\\</span><span style="color: Blue;">Java</span><span style="color: Gray;">”</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">System</span><span style="color: Gray;">.</span><span style="color: Blue;">out</span><span style="color: Gray;">.</span><span style="color: Blue;">println</span><span style="color: Olive;">(</span><span style="color: Gray;">”</span><span style="color: Blue;">Current</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">dir</span><span style="color: Gray;"> : ” + </span><span style="color: Blue;">System</span><span style="color: Gray;">.</span><span style="color: Blue;">getProperty</span><span style="color: Olive;">(</span><span style="color: Gray;">”</span><span style="color: Blue;">user</span><span style="color: Gray;">.</span><span style="color: Blue;">dir</span><span style="color: Gray;">”</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">File</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">f</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">File</span><span style="color: Olive;">(</span><span style="color: Gray;">”</span><span style="color: Blue;">sub</span><span style="color: Gray;">”</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">System</span><span style="color: Gray;">.</span><span style="color: Blue;">out</span><span style="color: Gray;">.</span><span style="color: Blue;">println</span><span style="color: Olive;">(</span><span style="color: Gray;">”</span><span style="color: Blue;">Dir</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">existance</span><span style="color: Gray;"> : ” + </span><span style="color: Blue;">f</span><span style="color: Gray;">.</span><span style="color: Blue;">exists</span><span style="color: Olive;">())</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>出力結果： </p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">C</span><span style="color: Gray;">:\</span><span style="color: Blue;">Java</span><span style="color: Gray;">\</span><span style="color: Blue;">app</span><span style="color: Gray;">&gt;</span><span style="color: Blue;">java</span><span style="color: Gray;"> </span><span style="color: Blue;">TestTest</span></li>
<li><span style="color: Blue;">Current</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">dir</span><span style="color: Gray;"> : </span><span style="color: Blue;">C</span><span style="color: Gray;">:\</span><span style="color: Blue;">Java</span><span style="color: Gray;">\</span><span style="color: Blue;">app</span></li>
<li><span style="color: Blue;">Move</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Dir</span><span style="color: Gray;"> !</span></li>
<li><span style="color: Blue;">Current</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">dir</span><span style="color: Gray;"> : </span><span style="color: Blue;">C</span><span style="color: Gray;">:\</span><span style="color: Blue;">Java</span></li>
<li><span style="color: Blue;">Dir</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">existance</span><span style="color: Gray;"> : </span><span style="color: Green;">false</span><span style="color: Gray;"> ←</span><span style="color: Green;">true</span><span style="color: Gray;">にならない！</span></li></ol></div>
<p>JAVA の基本機能（ＯＳ依存のＡＰＩを呼び出すなどをしないという場合）では、カレントディレクトリの移動はできないです。</p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2009/08/23/granite-data-services-free-lgpl-alternative-to-adobe-livecycle-data-services-for-j2ee-servers.html" title="Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス">Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス</a></li>
<li><a href="http://digitechlog.com/2009/08/16/flosc-flash-opensound-control-java-server-enabling-communication-between-flash-and-osc.html" title="Flosc(Flash OpenSound Control): flashと他のプラットフォーム同士でデータを送受信するJavaサーバー">Flosc(Flash OpenSound Control): flashと他のプラットフォーム同士でデータを送受信するJavaサーバー</a></li>
<li><a href="http://digitechlog.com/2009/08/05/jags-open-source-java-actionscript-game-server.html" title="JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ">JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ</a></li>
<li><a href="http://digitechlog.com/2009/07/10/openamf-free-open-source-alternative-to-adobe-java-flash-remoting.html" title="OpenAMF: オープンソースのJava Flashリモートツール">OpenAMF: オープンソースのJava Flashリモートツール</a></li>
<li><a href="http://digitechlog.com/2009/05/15/a-useful-java-class-for-export-data-into-excel-with-jakarta-poi-hssfworkbook.html" title="Javaでデータをエクセルにエクスポートするクラスと使用例">Javaでデータをエクセルにエクスポートするクラスと使用例</a></li>
<li><a href="http://digitechlog.com/2009/05/11/how-to-split-csv-file-in-java-with-split-function.html" title="Javaでsplitを使ってＣＳＶファイル読み込み">Javaでsplitを使ってＣＳＶファイル読み込み</a></li>
<li><a href="http://digitechlog.com/2009/03/06/eclipse-an-open-extensible-ide-for-anything-and-nothing-in-particular.html" title="Eclipse: オープンソースの統合開発環境(IDE)である">Eclipse: オープンソースの統合開発環境(IDE)である</a></li>
<li><a href="http://digitechlog.com/2009/02/25/servebox-foundry-an-actionscript-3-java-framework-designed-for-flex-2-3-applications-development.html" title="ServeBox Foundry (sbasfoundry): オープンソースのFlex 2/3アプリケーションを開発するActionScript 3 / Javaフレームワーク">ServeBox Foundry (sbasfoundry): オープンソースのFlex 2/3アプリケーションを開発するActionScript 3 / Javaフレームワーク</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2008/12/23/is-it-possible-that-move-current-directory-in-java.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

