太郎日記’79J

「やったろうやないの。」な太郎のblog
技術ネタはタロタローグに任せて、こっちはニュースメインで。
<< September 2018 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
 
RECOMMEND
MySQLによるタフなサイトの作り方
MySQLによるタフなサイトの作り方 (JUGEMレビュー »)
佐藤 真人,桑野 章弘,岡田 達典,大黒 圭祐
MySQLだけでなく、DBサーバやアプリの設計など、あらゆる手段を使ってタフなサイトを作る本である
最新記事
あわせて読みたい
あわせて読みたい
なかのひと
ClusterMaps
CM by JUGEM
スポンサーサイト

一定期間更新がないため広告を表示しています

- | 個別記事 | - | -
Windowsのファイル共有はJCIFSでJavaでも行ける!

Javaで、Windowsのファイル共有プロトコル、「CIFS」を使うって話になった。
最初はDLLか?と思ったけど、やっぱJavaの世界は何でもあるもんやね。
JCIFSってのがあった。
というわけで、簡単なプログラムで実験。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Properties;

import jcifs.Config;
import jcifs.smb.SmbFileInputStream;
import jcifs.smb.SmbFileOutputStream;

public class JCIFSSample {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		Properties prop = new Properties();
        prop.setProperty("jcifs.smb.client.username", "<ユーザ名>");
        prop.setProperty("jcifs.smb.client.password", "<パスワード>");

        Config.setProperties(prop);
        //ここからファイル読み込みサンプル
        SmbFileInputStream sfis = new SmbFileInputStream("smb://<サーバ名>/<フォルダ>/<入力ファイル名>");
        BufferedReader br = new BufferedReader(new InputStreamReader(sfis));
        
        String line = null;
        
        while((line = br.readLine())!=null){
        	System.out.println(line);
        }
        
        br.close();
        //ここまでファイル読み込みサンプル
        
        //ここからファイル書き出しサンプル
        SmbFileOutputStream sfos = new SmbFileOutputStream("smb://<サーバ名>/<フォルダ>/<出力ファイル名>");
        PrintWriter pw = new PrintWriter(sfos);
        pw.println("SMBを使って、ファイルへと書き出します。");
        pw.close();
        //ここまでファイル書き出しサンプル

	}

}
こんな感じ。
これだけでローカルファイルと同じようにWindowsファイル共有が利用できる。
便利かも。
こんな便利なもの、Javaにそのまま組み込まれてくれないかな?
java.io.FileとAuthenticatorの仕組みに、シームレスにこいつが入れば
相当便利だと思うんだが。
SambaとかもあるからCIFSはWindowsべったりなプロトコルってわけじゃない(と思う)し、
駄目ですかね。

スポンサーサイト
- | 個別記事 | - | -
ドミノ・ピザでも食べながら、コメントをどうぞ。
from: 伊藤 慎一   2012/01/02 1:40 PM
伊藤と申します。
突然で 失礼と思いつつ 質問させてください
jcifsを勉強しているところ このブログの記事を見つけたしだいです。
上記のソースを参考にし 実際に行ってみたのですが サーバーが見つかりません 
エラーが出てしまいます。
もちろん プログラムの問題ではなく ネットワーク上の問題だと思っておりますが 対処の仕方がわかりません
 
状況
 ホームネットワーク内
A のパソコン (ウインドウズXP)
B のパソコン (ウインドウズ7)
BのパソコンよりAのパソコンの共有ファイルを 読み込もうとしています。

ホームネットワークのケースの場合 ソース内のサーバー名は どうすれば良いのでしょうか。
そこの部分にDNSサーバーのIPアドレスをいれて試してみましたが
うまくいきません
 失礼を承知で 質問させていただきました。
何か ヒントになるような ものが あれば 教えていただけないでしょうか。
よろしくお願いいたします。
コメントする









 
トラックバック
この記事のトラックバックURL(記事と無関係なトラックバックは削除される可能性があります)
※記事が投稿されてから30分の間、トラックバックを行うことが出来ません。
http://tarotaro.jugem.cc/trackback/1169
 

Copyright (C) 2004 paperboy&co. All Rights Reserved.

Powered by "JUGEM"