Java程式如何使用JasperReport產出報表(PDF)

使用java產出PDF很麻煩, 除了要了解iText 7外 , 還要手工製作, 超級費時,甚至要搞定中文字型, 難怪沒人提出解法.

因此我想到使用 Jasper Report 產出報表的方式, 利用內建匯出PDF的功能(也需要iText 2.1.7),就能達到目的.

簡易步驟如下:

10028_(Java)如何使用JasperReport.txt

打包軟體Advanced Installer對於32位元與64位元設定條件

因為偶使用eclipse開發java軟體,號稱跨平台, 但是實際上使用到eclipse SWT元件都知道, 還是要另外匯出各個平台的jar檔案,才能到不同平台上執行, 而且還必須區分32位元與64位元.

eclipse匯出的可執行的jar檔案既然區分這麼多, 那就者能依靠打包軟體幫忙, 這裡推薦advanced installer.

Advanced Installer對於32位元與64位元設定條件, 偶看得有點霧煞煞, 只好紀錄一下.

Advanced Installer 專案新增好之後, 請點選 “Organization”就可以詳細看到相關的設定

將老舊DBF資料檔案轉成Excel

以往讀取老舊DBF資料檔案 , 只要透過ODBC , 搭配MSQRY這隻程式就可以下SQL指令完成任務.

可是這些常用的工具漸漸地不再支援, 連java 8之後也不內含JdbcOdbc, 簡單的說若你有老系統的資料要讀取, 已經是非常困擾的一件事情, 因此有必要將這些資料都導出來, 方便查閱.

因此偶找到一些好用的函式庫(jdbf), 再簡單寫一個GUI程式, 可將DBF轉成Excel, 最後就再也用不到這些老舊的檔案了.  程式可在此下載

1. Windows 7 64bits or above or Ubuntu 16.04 64bits or above

2. java 8 or above

java的byte array如何擴充或相加

多個byte array 要加起來,很簡的作法

import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class Tester {
   public static void main(String[] args) throws IOException {
      byte[] ArrayA = { 1,2,3};
      byte[] ArrayB = { 4,5,6};
      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      baos.write(ArrayA);
      baos.write(ArrayB);
      byte[] c = baos.toByteArray();
      for(int i=0; i< c.length ; i++) {
         System.out.print(c[i] +" ");
      }
   }
}

Java如何存取USB-HID裝置-使用hid4java

有些產品必須透過USB-HID連線方式, 才能進行溝通, 偶記得以往都是使用vb6(好古老)的方式連線, java能派上用場的機會不多.

但最近有個需求, 需使用java開發windows app, 但是又必須透過USB-HID的方式讀取產品的資料.

若依照以往(好多年前), 偶寫個vb6程式, 透過hid的方式讀取資料後存成txt檔案; 最後再使用java觸發vb6程式, 處理vb6抓取出來的txt檔案.

java 呼叫 vb6 的解法, 雖然可解, 但就差在現在誰在跟你寫vb6, 身為java old school 的偶, 看到vb6就討厭, 又不想寫.net程式與usb溝通, 導致遇到這種USB-HID的需求, 我就鬱卒 🙁

Oh ya!

幾年後的今天, 想說找找open source是否有pure java的解, 終於找到了

可以使用 https://github.com/gary-rowe/hid4java 這個專案搭配 JNA library 完成 pure java 的期望.

目前偶用 hid4java 0.5.0 + JNA 4.1.0  用得很順, 還可以跨三個平台 Mac , Linux , Windows , 真是棒啊

咖啡偶習慣把這些東西作成簡單好用的工具函式庫 , 基本上就是發送指令到usb hid設備 , 然後接收到資料,請到以下連結參考:

https://bitbucket.org/inmethod/inmethodusblib

PS. 只提供usb連線的裝置超冷門的, 未來將漸漸勢微

ubuntu安裝java

java 是有版權的(oracle公司) , 若開發時候使用到有版權的部份, 就會有侵權的疑慮.

因此linux上開發java系統, 通常安裝沒版權疑慮的JDK : openjdk.

當然也可以安裝 oracle java , 只是上線時候, 版權記得要注意.

1. 安裝 openjdk
sudo apt install default-jdk
確認安裝是否成功
javac -version

2. 安裝 oracle jdk
sudo add-apt-repository ppa:webupd8team/java
sudo apt update
sudo apt install oracle-java8-installer

3. 選擇目前使用哪種java
sudo update-alternatives –config java

1 2 3 4 5