ねごとめも背景

ねごとめも

数学、電気の勉強始めました!プログラムにも挑戦しています!|ω・)ノ


作成したプログラムは、こちらでも公開しています。
よかったら覗いてみてください。_( _´ω`)_
→ javascript,SVG で作成したプログラム置き場

java ディレクトリ、ファイルコピー( バックアップ )(1)

ディレクトリ、ファイルコピーテスト。

■ ディレクトリをコピーする場合

dirOperation クラスの copyDirectoryメソッドの
第一引数へ入力ディレクトリ名、第二引数へ出力ディレクトリ名を指定。

■ ファイルをコピーする場合

dirOperation クラスの copyFileメソッドの
第一引数へ入力ファイル名、第二引数へ出力ファイル名を指定。

■ プログラムの実行と手順

  1. コピーするディレクトリを copyTest.java と同じ階層へ設置
  2. copyTest.java のコンパイル ( javac -encoding utf-8 copyTest.java )
  3. copyTest.java の実行 ( java copyTest )
  4. copyTest.java と同じ階層へ template ディレクトリの内容をコピーした output ディレクトリが作成される。

■ copyTest.java


import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
public class copyTest
{
	public static void main(String[] args)
	{
		dirOperation dirObj=new dirOperation();
		//ディレクトリ削除 [ 第一引数:削除ディレクトリ名、第二引数:ディレクトリ削除の場合 true, 残す場合 false ]
		//dirObj.removeDir("output",true);
		
		//ファイルコピー [ 第一引数:入力ファイル名、第二引数:出力ファイル名 ]
		//dirObj.copyFile("template\\hoge.txt","output\\test\\hoge_00.txt");
		
		//ディレクトリコピー [ 第一引数:入力ディレクトリ名、第二引数:出力ディレクトリ名 ]
		dirObj.copyDirectory("template","output\\backup");
	}
}
class dirOperation
{
	public void removeDir(String dirName,boolean flg)
	{
		File file=new File(dirName);
		try
		{
			File[] fileArray=file.listFiles();
			for(int i=0;i<fileArray.length;i++)
			{
				if(!fileArray[i].delete()){ removeDir(fileArray[i].getAbsolutePath(),true); }
			}
			if(flg){ file.delete(); }
		}
		catch(NullPointerException e){ System.out.println("error"); }
	}
	
	public void copyFile(String oldFile,String newFile)
	{
		System.out.println(newFile+"            File");
		FileChannel ich=null;
		FileChannel och=null;
		try
		{
			ich=new FileInputStream(new File(oldFile)).getChannel();
			och=new FileOutputStream(new File(newFile)).getChannel();
			ich.transferTo(0,ich.size(),och);
		}
		catch(FileNotFoundException e){}
		catch(IOException e){}
		finally
		{
			try{ ich.close(); }catch(IOException e){}
			try{ och.close(); }
			catch(IOException e){}
			catch(NullPointerException e)
			{
				String path=newFile.substring(0,newFile.lastIndexOf("\\"));
				mkDirectory(path);
				copyFile(oldFile,newFile);
			}
		}
	}
	
	public void copyDirectory(String oldDirName,String newDirName)
	{
		File rootDir=new File(newDirName);
		if(!rootDir.exists())
		{
			System.out.println(newDirName+"            Directory");
			if(!rootDir.mkdir())
			{
				mkDirectory(newDirName);
			}
		}
		File[] fileArray=new File(oldDirName).listFiles();
		for(int i=0;i<fileArray.length;i++)
		{
			String fileName=fileArray[i].getName();
			if(!".".equals(fileName)&&!"..".equals(fileName))
			{
				if(!fileArray[i].isDirectory())
				{
					copyFile(fileArray[i].getAbsolutePath(),newDirName+"\\"+fileName);
				}
				else
				{
					copyDirectory(fileArray[i].getAbsolutePath(),newDirName+"\\"+fileName);
				}
			}
		}
	}
	
	public void mkDirectory(String absolutePath)
	{
		String[] path=absolutePath.split("\\\\");
		StringBuffer str=new StringBuffer();
		for(int i=0;i<path.length;i++)
		{
			System.out.println(str.toString()+"            Directory");
			str.append(path[i]);
			File dir=new File(str.toString());
			if(!dir.exists())
			{
				dir.mkdir();
			}
			str.append("\\\\");
		}
	}
}
2013/03/17 [23:35]
  • category : java,
  • comment : 0

メーカー製PCへの USB 3.0 拡張ボード増設

PC を購入して約二年、プログラムに挑戦したり、最近はすっかり、なまけもの。
あの日あの時、インターネット閲覧が主な目的って事と飽きっぽい性格を伝え、勧められるままに低価格のデスクトップ PC を購入。
その後、色々な作業をしてるうちにスペック不足に悩まされるようになってきた。
休日を除くほぼ毎日、その日の作業で更新したファイルのバックアップを
外付けハードディスクへ取る作業(計二時間位)で月2万も貰ってないってば御茶ノ水。
この作業を短縮出来ないかと思い、先日パソコンショップで USB-3.0 の拡張ボードを購入しメーカー製 PC へ接続してみた。
結果は、失敗。
PC を起動させるとメーカーロゴの後に、 American Megatrends の画面が表示され、起動が止まってしまう。

American Megatrends


~
NO Keyboard Detected!
NO Mouse Detected!
Press F1 to Resume
American Megatrends

F1 キー押下で起動はするものの USB が情緒不安定。

  1. USB メモリ挿入時に表示されていた 「 自動再生 」 のウインドウが立ち上がらない。
    デバイスマネージャーの 「 すべてのメディアとディバイスで自動再生を使う 」 にチェックは入ってる
  2. タスクトレイに 「 ハードウェアを安全に取り外してメディアを取り外す 」 のアイコンが表示されない場合がある。
  3. 表示された場合も、しばらく時間を置いて確認してみると USB アイコンが消えてしまう場合がある。

自力で何とかしようと色々試せど、症状が改善しないので
ボードを購入したショップへ PC を持込み拡張ボードの接続をお願いした。
店員さんが手慣れた様子で、PC をカパっ!と解体ショーのはじまり。
ザクっ!と拡張ボードの接続。
PC を起動させると American Megatrends 画面の出現。
F1 叩いてドライバのインストール。
その後、Delete キーを連打しつつ電源を入れたり切ったり、謎の作業を見守ること四半時あまり。
んで、店員さんが云うにはUSB ボードの初期不良の可能性もあるとのことで、新品の USB-3.0ボードへ取り替え。
おらっ!
同メーカーの上位モデルを接続。
おらっおらっ!!
ロープロファイルに対応したメーカーがひとつしか置いてない。
おらっおらっおらっ!!!
作業の結果、症状が改善されることはなかった。
店員さんによると、マザーボートと USB ボードの相性が悪いらしいとの事。
相性っかぁ。などとマザーボードの気持ちをおもんぱかりながら
すわ、手数料。
後片付けのため、カチャカチャと動かす手を止めない店員さんに手数料のことを問いかけてみると
「取り付け手数料はかかりません。商品返品の手続きを行います。」
ボードと電源ケーブル代の二千円余りの中途半端な金額を受け取り帰路についた。

問い合わせをしていた Windows 7 対応を謳っていたUSB ボードメーカーからは
「拡張ボードを接続すると American Megatrends の画面が表示される」 と
PC メーカー側への問い合わせをお願いする旨の伝言ゲームの出場通知が届き
PC メーカーからは 「増設のトラブルは、サポート対象外で改造は、自己責任」で、と
やわらかい返信があった。
PC メーカーの返信の中に American Megatrends 画面の対処法が紹介されていた。
PC 素人の解釈では、
PS/2タイプのキーボード又はマウスを接続して使用している場合に上記症状が出た場合は重大な問題。
USBコネクタイプのキーボード又はマウスを接続して使用している場合に上記の症状が出た場合は
さほど問題があるメッセージではないらしい。

この画面をスキップする方法

  1. 電源を入れる
  2. deleteキーを数回押下
  3. American Megatrends の画面
  4. F1押下で起動
  5. BIOS設定画面の表示
  6. [ Main ] タブ中の [ Halt On ] の項目を [ All,But Keyboard and Mouse ] に変更
  7. F10キー押下で設定保存
  8. 再起動

今回出た症状は上記の手順で American Megatrends 画面のスキップが出来るらしいが、
素人にBIOSの設定変更作業は不安を感じたので、USB-3.0拡張ボード増設は諦めた。
現在はUSBボードのドライバインストール前へシステムの復元を行い問題なく動作してる。

増設を行う前にバックアップは必ず取っておきましょ。
復元ポイントを作成しておきましょ。
不具合がおきても自己責任です。

2013/03/12 [01:37]
  • category : PC,

カウンター

プロフィール

negotoy

Author:negotoy
電気の勉強始めました!
テキストエディタを使ってプログラミングに挑戦中。fc2 ブログに公開しているテンプレート等は、自由にカスタマイズして、ご活用ください。プログラム実行の前に必ずコードの確認をお願いします。

最新記事

カテゴリ

カレンダー

02 | 2013/03 | 04
- - - - - 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
31 - - - - - -


PAGE TOP
広告: