import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class SqliteTest { /** * @param args */ public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ try { // JDBCドライバーの指定 Class.forName( "org.sqlite.JDBC" ); // データベースに接続する なければ作成される Connection con = DriverManager.getConnection( "jdbc:sqlite:../database.db" ); // Statementオブジェクト作成 Statement stmt = con.createStatement(); //テーブル作成 すでにある場合は例外が発生 stmt.executeUpdate( "create table nameTable( id integer, name string )" ); //テーブルにデータを追加 stmt.executeUpdate( "insert into nameTable values(1, 'sakura')" ); } catch (ClassNotFoundException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } catch (SQLException e) { // TODO 自動生成された catch ブロック // Connection の例外が発生した時 e.printStackTrace(); } } } |
JAVA メモ
メモとして記録しているだけです。
2013年8月14日水曜日
テーブルの作成とデータ追加:SQLite
Eclipse で SQLite 準備からデータベース作成・接続まで
1.SQLite用のJDBCドライバーをダウンロードしてくる。
https://bitbucket.org/xerial/sqlite-jdbc
2.Eclipse のパッケージエクスプローラからSQLite を使うプロジェクトをせんたくして、
右クリックからプロパティーを選択して、Javaのビルド・パス でライブラリタブを選択して、
外部ライブラリを登録する。
準備完了!
https://bitbucket.org/xerial/sqlite-jdbc
2.Eclipse のパッケージエクスプローラからSQLite を使うプロジェクトをせんたくして、
右クリックからプロパティーを選択して、Javaのビルド・パス でライブラリタブを選択して、
外部ライブラリを登録する。
準備完了!
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class SqliteTest { /** * @param args */ public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ try { // JDBCドライバーの指定 Class.forName( "org.sqlite.JDBC" ); // データベースに接続する なければ作成される Connection con = DriverManager.getConnection( "jdbc:sqlite:../database.db" ); } catch (ClassNotFoundException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } catch (SQLException e) { // TODO 自動生成された catch ブロック // Connection の例外が発生した時 e.printStackTrace(); } } } |
2013年8月13日火曜日
テーブルの中のリンクアドレスをすべて取得する。
import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class paint { /** * @param args */ public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ try { Document document = Jsoup.connect(url).get(); Element table = document.getElementById( "tableIdName" ); Elements links = table.getElementsByTag( "a" ); for (Element link : links) { String linkHref = link.attr( "href" ); System.out.println( linkHref ); } } catch (IOException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } } } |
2012年8月12日日曜日
正規表現:基本
^ | 行の先頭 |
[ ] | 指定内の任意の表現 |
例 | [ab] |
aまたはbにマッチする | |
メタ文字 | |
\s | 任意の空白文字(スペース、タブ、改行、復帰)1文字にマッチします。 |
例 | [^\\s] |
先頭の空白文字位置文字にマッチする。 | |
* | 直前にある文字が0回以上繰り返された文字列にマッチします。0回でも可なので直前の文字が存在しなくてもマッチする。 |
2012年8月2日木曜日
ライブ配信送信側のJavaプログラム:JMF
受信側プログラムはJMStudioを利用
import javax.media.*; import javax.media.control.*; import javax.media.protocol.*; import javax.media.format.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*; public class TransmitterTest extends JFrame { private MediaLocator mediaLocator = null ; private DataSink dataSink = null ; private Processor mediaProcessor = null ; private Format[] formats = new Format[] { new VideoFormat( VideoFormat.JPEG_RTP ) }; private ContentDescriptor descriptor = new ContentDescriptor( ContentDescriptor.RAW_RTP ); private InputPanel ipanel; private static final int PORT= 22224 ; private Component ctrl; /** Creates a new transmitter frame. */ public TransmitterTest() { super ( "Video Transmitter" ); ipanel = new InputPanel(); getContentPane().add( ipanel, "Center" ); pack(); show(); } /** set locator from Capture Device */ public void setLocator() { try { MediaLocator deviceLocator = searchCaptureDevice(); DataSource source = Manager.createDataSource( deviceLocator ); mediaLocator + ":" + PORT + "/video" ); mediaProcessor = Manager.createRealizedProcessor( new ProcessorModel( source, formats, descriptor ) ); dataSink = Manager.createDataSink( mediaProcessor.getDataOutput(), mediaLocator ); setControlPanel(); startTransmitting(); } catch (Exception e) { System.err.println( e.toString() ); } } /** Search Capture Device for Video */ public static MediaLocator searchCaptureDevice() { Vector list = CaptureDeviceManager.getDeviceList( new VideoFormat( VideoFormat.YUV ) ); if ( list.size() > 0 ) { CaptureDeviceInfo info = (CaptureDeviceInfo)list.elementAt( 0 ); return info.getLocator(); } System.err.println( "No Capture Device" ); return null ; } /** set Control */ public void setControlPanel() { ctrl = mediaProcessor.getControlPanelComponent(); getContentPane().add( ctrl, "South" ); pack(); } /** Starts transmitting the media. */ public void startTransmitting() throws IOException { mediaProcessor.start(); dataSink.open(); dataSink.start(); } /** start here */ public static void main(String[] args) { TransmitterTest transmitter = new TransmitterTest(); } /** Input receive host name, port number */ class InputPanel extends JPanel implements ActionListener { public JLabel label = new JLabel( "Receiver Adress:" ); public JTextField host = new JTextField( "" , 16 ); public JButton transmit = new JButton( "Transmit" ); InputPanel() { add( label ); add( host ); add( transmit ); transmit.addActionListener( this ); } /** Event Processing */ public void actionPerformed( ActionEvent evt ) { if ( evt.getSource() instanceof JButton ) { if ( (JButton)(evt.getSource()) == transmit ) { setLocator(); } } } } } |
2012年7月11日水曜日
末尾の改行コード削除
正規表現で末尾の文字列を削除する。
Pattern pattern = Pattern.compile( "\n$" ); Matcher matcher = pattern.matcher( "Hello World. Hello World.\n" ); String strResult = matcher.replaceAll( "" ); System.out.println(strResult); |
SyntaxHighlighter のバージョンアップ
SyntaxHighlighter を Version: 1.5.1 から version 3.0.83 にバージョンアップしてみる。
どちらのバージョンからの文法でも動くようにする。
どちらのバージョンからの文法でも動くようにする。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <head> <meta http-equiv= "Content-Type" content= "text/html; charset=UTF-8" /> <title>dp.SyntaxHighlighter Tests</title> <script type= "text/javascript" src= "scripts3/shCore.js" ></script> <script type= "text/javascript" src= "scripts3/shLegacy.js" ></script> <script type= "text/javascript" src= "scripts3/shBrushJava.js" ></script> <link type= "text/css" rel= "stylesheet" href= "styles3/shCoreDefault.css" /> </head> <body> <pre name= "code" class = "java" > function helloSyntaxHighlighter() { return "hi!" ; } </pre> <pre class = "brush: java;" > function helloSyntaxHighlighter() { return "hi!" ; } </pre> <script type= "text/javascript" > SyntaxHighlighter.all(); dp.SyntaxHighlighter.HighlightAll( 'code' ); </script> </body> </html> |
function helloSyntaxHighlighter() { return "hi!" ; } |
function helloSyntaxHighlighter() { return "hi!" ; } |
登録:
投稿 (Atom)