diff --git a/src/FactoryMethod.java b/src/FactoryMethod.java new file mode 100644 index 0000000..bc50443 --- /dev/null +++ b/src/FactoryMethod.java @@ -0,0 +1,36 @@ +import java.util.Date; +import java.util.Calendar; + +public class FactoryMethod { + private Date created; + private Date lastAccessed; + private Date lastModified; + byte[] data; + public static FactoryMethod getInstance(){ + FactoryMethod fm; + fm = new FactoryMethod(); + fm.init(); + fm.initCreated(); + return fm; + } + + public void append(byte[] b){ + + } + public void init(){} + public void initCreated(){ + lastModified = created = Calendar.getInstance().getTime(); + System.out.println(Calendar.getInstance().getClass().getName()); + } + + public static void main(String[] args){ + FactoryMethod mf = MemoryFile.getInstance(); + } +} + +class MemoryFile extends FactoryMethod { + public void init(){ + this.data = new byte[2000]; + } + +} diff --git a/src/SamplePlayer.java b/src/SamplePlayer.java new file mode 100644 index 0000000..436c165 --- /dev/null +++ b/src/SamplePlayer.java @@ -0,0 +1,63 @@ +import java.io.File; +import java.io.IOException; +import java.util.Scanner; + +import javax.sound.midi.InvalidMidiDataException; +import javax.sound.midi.MidiSystem; +import javax.sound.midi.MidiUnavailableException; +import javax.sound.midi.Sequence; +import javax.sound.midi.Sequencer; + +public class SamplePlayer { + + public static void main(String[] args) { + // MIDIデータを再生するハードウェア/ソフトウェア・デバイスのインスタンス。 + Sequencer sequencer = null; + + try { + // デバイスに接続されたデフォルトのSequencerを取得する。 + sequencer = MidiSystem.getSequencer(); + + // デバイスを開き、リソースを獲得する。 + sequencer.open(); + } + catch (MidiUnavailableException e) { + e.printStackTrace(); + } + + // コンソール入力からMIDIファイルのパスを取得する。 + Scanner scanner = new Scanner(System.in); + System.out.print("MIDIファイルのパス >> "); + String path = scanner.next(); + + try { + // MIDIファイルからMIDIデータ(Sequenceオブジェクト)を取得。 + File file = new File(path); + Sequence sequence = MidiSystem.getSequence(file); + + // 取得したMIDIデータをシーケンサに設定する。 + sequencer.setSequence(sequence); + } + catch (InvalidMidiDataException e) { + e.printStackTrace(); + } + catch (IOException e) { + e.printStackTrace(); + } + + // シーケンサー再生 + sequencer.start(); + + // キー入力待ち + System.out.println("適当に文字列を入力すると終了します。"); + System.out.print(">>"); + scanner.next(); + scanner.close(); + + // シーケンサー停止 + sequencer.stop(); + + // シーケンサーを閉じ、使用していたリソース解放する。 + sequencer.close(); + } +} \ No newline at end of file diff --git a/src/TemplateMethod.java b/src/TemplateMethod.java index cf41d29..b70ec31 100644 --- a/src/TemplateMethod.java +++ b/src/TemplateMethod.java @@ -11,8 +11,7 @@ messages2store();//圧縮または暗号化 } public abstract void store2messages(); //復号 - public abstract void messages2store(); // 暗号 - + public abstract void messages2store(); // 暗号 } class ZipMessage extends TemplateMethod { @Override