12 Commits
Author SHA1 Message Date
timi a11ba5a907 Merge pull request 'v0.1.0' (#7) from dev into master
Reviewed-on: #7
2026-09-30 03:56:47 +00:00
Timi ebd83595ec v0.1.0
CI/CD / build-deploy (pull_request) Successful in 10s
2026-09-30 11:56:32 +08:00
timi 1fcd5b8300 Merge pull request 'v0.0.7' (#6) from dev into master
Reviewed-on: #6
2026-09-29 13:01:58 +00:00
Timi 2615862b23 v0.0.7
CI/CD / build-deploy (pull_request) Successful in 10s
2026-09-29 21:01:39 +08:00
timi 33876140a7 Merge pull request 'v0.0.6' (#5) from dev into master
Reviewed-on: #5
2026-09-11 03:34:04 +00:00
Timi 47dbc3efaf v0.0.6
CI/CD / build-deploy (pull_request) Successful in 11s
2026-09-11 11:30:16 +08:00
timi 319705c2fc Merge pull request 'v0.0.5' (#4) from dev into master
Reviewed-on: #4
2026-05-07 06:46:06 +00:00
Timi 1f67d8742a v0.0.5
CI/CD / build-deploy (pull_request) Successful in 10s
2026-05-07 14:44:28 +08:00
timi fb86228d03 Merge pull request 'v0.0.4' (#3) from dev into master
Reviewed-on: #3
2026-05-06 08:49:51 +00:00
Timi cb50850eca v0.0.4
CI/CD / build-deploy (pull_request) Successful in 10s
2026-05-06 16:49:23 +08:00
timi 5c5dabeb05 Merge pull request 'v0.0.3' (#2) from dev into master
Reviewed-on: #2
2026-03-21 10:15:20 +00:00
Timi 33177f5ded v0.0.3
CI/CD / build-deploy (pull_request) Successful in 40s
2026-03-21 18:14:57 +08:00
5 changed files with 71 additions and 45 deletions
+34 -2
View File
@@ -6,7 +6,7 @@
<groupId>com.imyeyu.io</groupId>
<artifactId>timi-io</artifactId>
<version>0.0.2</version>
<version>0.1.0</version>
<packaging>jar</packaging>
<properties>
@@ -28,10 +28,42 @@
<artifactId>maven-source-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>1.18.20.0</version>
<configuration>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<outputDirectory>${project.build.directory}/delombok</outputDirectory>
<addOutputDirectory>false</addOutputDirectory>
<encoding>UTF-8</encoding>
</configuration>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>delombok</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.36</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.11.2</version>
<configuration>
<sourcepath>${project.build.directory}/delombok</sourcepath>
<encoding>UTF-8</encoding>
<charset>UTF-8</charset>
<docencoding>UTF-8</docencoding>
</configuration>
</plugin>
</plugins>
</build>
@@ -60,7 +92,7 @@
<dependency>
<groupId>com.imyeyu.utils</groupId>
<artifactId>timi-utils</artifactId>
<version>0.0.2</version>
<version>0.1.0</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
+19 -4
View File
@@ -1,9 +1,10 @@
package com.imyeyu.io;
import com.imyeyu.java.TimiJava;
import com.imyeyu.java.bean.ActionException;
import com.imyeyu.java.bean.Callback;
import com.imyeyu.java.bean.CallbackArg;
import com.imyeyu.java.bean.timi.TimiCode;
import com.imyeyu.java.bean.timi.TimiException;
import com.imyeyu.java.bean.ResultCode;
import com.imyeyu.utils.Decoder;
import com.imyeyu.utils.OS;
import com.imyeyu.utils.Text;
@@ -134,6 +135,20 @@ public class IO implements OS.FileSystem {
return dir;
}
public static File dir(String path, File def) {
if (TimiJava.isEmpty(path)) {
return def;
}
File dir = new File(path);
if (dir.exists()) {
if (dir.isFile()) {
return dir.getParentFile();
}
return dir;
}
return def;
}
/**
* 获取文件对象,如果不存在则创建该文件
*
@@ -218,7 +233,7 @@ public class IO implements OS.FileSystem {
if (file.renameTo(resultFile) && resultFile.exists()) {
return resultFile;
}
throw new TimiException(TimiCode.RESULT_BAD, "rename file fail: from " + file.getAbsolutePath() + ", to " + resultFile.getAbsolutePath());
throw new ActionException(ResultCode.RESULT_BAD, "rename file fail: from " + file.getAbsolutePath() + ", to " + resultFile.getAbsolutePath());
} else {
String msg = "Illeagl file name: %s, not allow char: %s";
if (OS.IS_WINDOWS) {
@@ -646,7 +661,7 @@ public class IO implements OS.FileSystem {
public static void toOutputStream(InputStream is, OutputStream os, long start, long end) throws IOException {
long skip = is.skip(start);
if (skip != start) {
throw new TimiException(TimiCode.ERROR, "skip fail");
throw new ActionException(ResultCode.ERROR, "skip fail");
}
byte[] buffer = new byte[8192];
long remaining = end - start + 1;
+12 -27
View File
@@ -4,6 +4,8 @@ package com.imyeyu.io;
import com.imyeyu.java.TimiJava;
import com.imyeyu.java.bean.CallbackArg;
import com.imyeyu.utils.Calc;
import lombok.Getter;
import lombok.Setter;
import java.util.ArrayList;
import java.util.HashMap;
@@ -41,9 +43,18 @@ public class IOSpeedService {
private static IOSpeedService service;
/** 加盐,用于在数据对齐的 IO 流中看起来像非对齐传输。此操作会使计算数据变得非真实,仅作为 UI 显示时可使用 */
@Setter
@Getter
private long salt;
private Timer timer;
private double totalBufferOld, totalBuffer;
private double totalBufferOld;
/** 总缓冲量 */
@Getter
private double totalBuffer;
/** true 为运行中 */
@Getter
private boolean isRunning;
private final Map<String, Item> items;
@@ -136,15 +147,6 @@ public class IOSpeedService {
return items.get(id);
}
/**
* 获取总缓冲量
*
* @return 缓冲数据量
*/
public double getTotalBuffer() {
return totalBuffer;
}
/** 重置计算 */
public void reset() {
totalBufferOld = totalBuffer = 0;
@@ -172,23 +174,6 @@ public class IOSpeedService {
return service;
}
/**
* 是否运行中
*
* @return true 为运行中
*/
public boolean isRunning() {
return isRunning;
}
public long getSalt() {
return salt;
}
public void setSalt(long salt) {
this.salt = salt;
}
/**
* 添加全局字节量监听
*
+4 -8
View File
@@ -1,5 +1,7 @@
package com.imyeyu.io;
import lombok.Getter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -16,8 +18,10 @@ import java.util.jar.JarFile;
* @author 夜雨
* @version 2021-12-01 17:39
*/
@Getter
public class JarReader extends JarFile {
/** jar 所有文件的数据流映射列表,Map&lt;路径, 数据流&gt; */
private final Map<String, InputStream> files;
/**
@@ -76,12 +80,4 @@ public class JarReader extends JarFile {
return IO.toBytes(getInputStream(path));
}
/**
* 获取 jar 所有文件的数据流映射列表,Map&lt;路径, 数据流&gt;
*
* @return 数据流映射列表
*/
public Map<String, InputStream> getFiles() {
return files;
}
}
+2 -4
View File
@@ -1,6 +1,7 @@
package com.imyeyu.io;
import com.imyeyu.java.TimiJava;
import lombok.Getter;
import java.io.File;
import java.util.ArrayList;
@@ -11,6 +12,7 @@ import java.util.Stack;
* @author 夜雨
* @version 2024-06-30 16:26
*/
@Getter
public class TreeFile extends File {
private List<TreeFile> children;
@@ -57,10 +59,6 @@ public class TreeFile extends File {
}
}
public List<TreeFile> getChildren() {
return children;
}
/**
*
*