Skip to content

Close #2987: 从 java.io.File 迁移至 NIO#4502

Merged
Glavo merged 7 commits intoHMCL-dev:mainfrom
Glavo:nio
Sep 17, 2025
Merged

Close #2987: 从 java.io.File 迁移至 NIO#4502
Glavo merged 7 commits intoHMCL-dev:mainfrom
Glavo:nio

Conversation

@Glavo
Copy link
Copy Markdown
Member

@Glavo Glavo commented Sep 17, 2025

No description provided.

@Glavo Glavo requested a review from Copilot September 17, 2025 13:30
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR migrates the codebase from using java.io.File to the NIO java.nio.file.Path API, addressing issue #2987. The migration improves code modernization by adopting the more flexible and feature-rich NIO.2 file system API.

  • Replaces File API calls with equivalent Path operations throughout the codebase
  • Removes deprecated File-based constructors and utility methods
  • Updates method signatures to accept Path instead of File parameters

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
Architecture.java Updates file existence check to use Files.exists() with Path.of()
Unzipper.java Removes deprecated File-based constructor
FileUtils.java Removes toFile() utility method
JsonUtils.java Removes File type adapter registration
FileTypeAdapter.java Deletes entire file as it's no longer needed
Launcher.java Changes makeLaunchScript method signature to accept Path
DefaultLauncher.java Updates script creation logic to use Path operations
DefaultGameRepository.java Updates event firing to pass Path instead of File
GameJsonParseFailedEvent.java Changes field and constructor to use Path
MojangJavaDownloadTask.java Replaces file operations with NIO equivalents
Multiple UI files Updates method calls to use Path parameters
ModpackHelper.java Converts file reading methods to use Path
LauncherHelper.java Updates script file handling to use Path
HMCLGameLauncher.java Updates method signature to use Path
Config.java Removes File type adapter registration

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@HMCL-dev HMCL-dev deleted a comment from Copilot AI Sep 17, 2025
@HMCL-dev HMCL-dev deleted a comment from Copilot AI Sep 17, 2025
@HMCL-dev HMCL-dev deleted a comment from Copilot AI Sep 17, 2025
@Glavo Glavo merged commit 45f7719 into HMCL-dev:main Sep 17, 2025
2 checks passed
@Glavo Glavo deleted the nio branch September 17, 2025 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants