From fd63363101f8fa84d23e16ab2aefdcae14ff3b1e Mon Sep 17 00:00:00 2001 From: Bunny <1319900154@qq.com> Date: Mon, 21 Oct 2024 23:40:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=96=87=E4=BB=B6=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/bunny/service/ResourceTest.java | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 service/src/test/java/cn/bunny/service/ResourceTest.java diff --git a/service/src/test/java/cn/bunny/service/ResourceTest.java b/service/src/test/java/cn/bunny/service/ResourceTest.java new file mode 100644 index 0000000..c797eb6 --- /dev/null +++ b/service/src/test/java/cn/bunny/service/ResourceTest.java @@ -0,0 +1,81 @@ +package cn.bunny.service; + +import org.junit.jupiter.api.Test; + +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; +import java.util.Base64; + +public class ResourceTest { + + // 读取resource下目录方式1 + @Test + void test1() { + try (InputStream resourceAsStream = getClass().getClassLoader().getResourceAsStream("static/backup.sh")) { + if (resourceAsStream == null) return; + + // 文件存储一共的内容 + StringBuilder builder = new StringBuilder(); + + // 读取文件内容 + BufferedReader reader = new BufferedReader(new InputStreamReader(resourceAsStream)); + String line; + while ((line = reader.readLine()) != null) { + builder.append(line).append("\n"); + } + + // 输出文件内容 + System.out.println(builder); + reader.close(); + } catch (Exception exception) { + exception.printStackTrace(); + } + } + + // 读取resource下目录方式2 + @Test + void test2() { + try (InputStream inputStream = getClass().getResourceAsStream("/static/backup.sh")) { + if (inputStream == null) return; + + // 获取所有数组内容 + byte[] bytes = inputStream.readAllBytes(); + + // 读取文件中内容 + String string = new String(bytes, StandardCharsets.UTF_8); + System.out.println(string); + + // 读取文件转成Base64 + String str = Base64.getEncoder().encodeToString(bytes); + System.out.println(str); + + } catch (Exception exception) { + exception.printStackTrace(); + } + } + + // 读取resource下目录方式3 + @Test + void test3() { + ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); + try (InputStream inputStream = classLoader.getResourceAsStream("static/backup.sh")) { + if (inputStream == null) return; + + // 获取所有数组内容 + byte[] bytes = inputStream.readAllBytes(); + + // 读取文件中内容 + String string = new String(bytes, StandardCharsets.UTF_8); + System.out.println(string); + + // 读取文件转成Base64 + String str = Base64.getEncoder().encodeToString(bytes); + System.out.println(str); + + } catch (Exception exception) { + exception.printStackTrace(); + } + } +}