27 Ağustos 2019 Salı

WatchKey Arayüzü - NIO

Giriş
Şu satırı dahil ederiz.
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardWatchEventKinds;
import java.nio.file.WatchEvent;
import java.nio.file.WatchKey;
import java.nio.file.WatchService;
pollEvents metodu
Şöyle yaparız.
WatchService watcher = ...;

WatchKey watckKey = watcher.take();
List<WatchEvent<?>> events = watckKey.pollEvents();
for (WatchEvent event : events) {
  if (event.kind() == StandardWatchEventKinds.ENTRY_MODIFY) {
    System.out.println(event.context().toString());
    if (event.context().toString().equals(FILE_NAME)) {
      System.out.println("Modified configuration: " + event.context().toString());
    }
  }
  if (!watckKey.reset()) {
    break;
  }
}
reset metodu
"tail -f" gibi bir dosyayı sürekli izlemek için şöyle yaparız
WatchKey key = ...;
boolean isKeyStillValid = key.reset();
if (!isKeyStillValid) {
  log.trace("monitor - key is no longer valid: " + key);
}
watchable metodu
Şöyle yaparız
System.out.println("Change in " + key.watchable());

26 Ağustos 2019 Pazartesi

JavaSound Mixer.Info Sınıfı

getName ve getDescription metodları
Şöyle yaparız.
Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo();
for(int i = 0; i < mixerInfo.length; i++)
{
  Mixer.Info info = mixerInfo[i];
  System.out.println(String.format("Name [%s] \n Description [%s]\n\n",
   info.getName(), info.getDescription()));
}

Mixer Arayüzü

Giriş
Şu satırı dahil ederiz
import javax.sound.sampled.Mixer;
getSourceLineInfo metodu
Mixer'ın girişini verir.
Örnek
Şöyle yaparız.
Mixer.Info[] mixerInfos = AudioSystem.getMixerInfo();
for (Mixer.Info info: mixerInfos){
  Mixer m = AudioSystem.getMixer(info);
  Line.Info[] lineInfos = m.getSourceLineInfo();
  for (Line.Info lineInfo:lineInfos){
   System.out.println (info.getName()+"---"+lineInfo);
   Line line = m.getLine(lineInfo);
   System.out.println("\t-----"+line);
  }
  lineInfos = m.getTargetLineInfo();
  for (Line.Info lineInfo:lineInfos){
   System.out.println (m+"---"+lineInfo);
   Line line = m.getLine(lineInfo);
   System.out.println("\t-----"+line);

  }

 }
getTargetLineInfo metodu
Mixer'ın çıkışını verir.
Örnek
Şöyle yaparız.
Mixer.Info[] mixerInfos = AudioSystem.getMixerInfo();
for (Mixer.Info info: mixerInfos){
  Mixer m = AudioSystem.getMixer(info);
  Line.Info[] lineInfos = m.getTargetLineInfo();
  for (Line.Info lineInfo:lineInfos){
   System.out.println (m+"---"+lineInfo);
   Line line = m.getLine(lineInfo);
   System.out.println("\t-----"+line);

  }

 }