Lunski's Clutter

This is a place to put my clutters, no matter you like it or not, welcome here.

0%

打包jar檔

做罐頭

1
2
3
4
5
6
fonts/
├── font1.ttf
├── font2.ttf
├── font3.ttf
├── font4.ttf
└── MANIFEST.MF (可选)

1.創建目錄結構:創建一個文件夾來存放這些TTF文件和即將生成的JAR文件。例如,創建一個名為fonts的文件夾,並將4個TTF文件放到這個文件夾內。

2.編寫Manifest文件(可選):如果你需要為JAR文件指定清單文件,可以編寫一個MANIFEST.MF文件。這個文件通常用於指定JAR文件的元數據,例如主類(Main-Class)並放到fonts

1
2
Manifest-Version: 1.0
Created-By: 1.8.0 (Your-Company)

3.打包

1
2
3
4
5
6
7
8
9
10
c:創建新的歸檔文件。
v:生成詳細輸出,顯示處理的文件。
f:指定歸檔文件的文件名。
m:包含清單文件MANIFEST.MF。
x:從歸檔文件中提取指定的文件。
t:列出歸檔文件的內容(也就是列出JAR文件中的所有文件和目錄)。

jar cvfm fonts.jar MANIFEST.MF font1.ttf font2.ttf font3.ttf font4.ttf

jar cvf fonts.jar font1.ttf font2.ttf font3.ttf font4.ttf

4.檢查

1
jar tf fonts.jar

5.實際案例與使用

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
PS C:\Users\eric.lu\Desktop\fonts> ls


目錄: C:\Users\eric.lu\Desktop\fonts


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2024/12/5 下午 03:39 5180940 kaiu.ttf
-a---- 2024/12/5 下午 03:39 9958200 serif.ttf
-a---- 2024/12/5 下午 03:39 35351888 sung.ttf
-a---- 2024/12/5 下午 03:39 1175904 timesbd.ttf


PS C:\Users\eric.lu\Desktop\fonts> jar cvf fonts.jar kaiu.ttf serif.ttf sung.ttf timesbd.ttf
已新增資訊清單
新增: kaiu.ttf (讀=5180940)(寫=2864736)(壓縮 44%)
新增: serif.ttf (讀=9958200)(寫=5816628)(壓縮 41%)
新增: sung.ttf (讀=35351888)(寫=18322317)(壓縮 48%)
新增: timesbd.ttf (讀=1175904)(寫=636586)(壓縮 45%)

PS C:\Users\eric.lu\Desktop\fonts> jar tf fonts.jar
META-INF/
META-INF/MANIFEST.MF
kaiu.ttf
serif.ttf
sung.ttf
timesbd.ttf

# 在enum使用

public enum FontEnum {
KAIU("kaiu.ttf", "fonts/kaiu.ttf"), // 標楷體
TIMESBD("timesbd.ttf", "fonts/timesbd.ttf"), // Times New Roman 粗體
SUNG("sung.ttf", "fonts/sung.ttf"), // 宋體
SERIF("serif.ttf", "fonts/serif.ttf"),; // 微軟正黑體
private String fontName;
private String fontPath;

FontEnum(String fontName, String fontPath) {
this.fontName = fontName;
this.fontPath = fontPath;
}

// getter, setter...

如果你覺得這篇文章很棒,請你不吝點讚 (゚∀゚)

Welcome to my other publishing channels