使用java jgit克隆代码时仓库文件存在中文名报错java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters如何解决
时间: 2023-08-23 17:36:55 浏览: 68
出现这个异常的原因是 JGit 在处理中文文件名时出现了编码问题,可以通过设置 JGit 的文件系统编码方式来解决。具体操作如下:
1. 在创建 Repository 对象时,设置文件系统编码方式为 UTF-8,示例代码如下:
```
Git git = Git.cloneRepository()
.setURI("https://github.com/username/repo.git")
.setDirectory(new File("/path/to/local/repo"))
.setCloneAllBranches(true)
.setTransportConfigCallback(transport -> {
SshTransport sshTransport = (SshTransport) transport;
sshTransport.setSshSessionFactory(sshSessionFactory);
})
.setGitDir(new File("/path/to/local/repo/.git"))
.call();
Repository repository = git.getRepository();
repository.getConfig().setString("core", null, "quotepath", "false");
repository.getConfig().save();
FS fs = repository.getFS();
fs.setCharset(Charset.forName("UTF-8"));
```
2. 如果已经创建了 Repository 对象,可以通过以下方式来设置编码方式:
```
Repository repository = git.getRepository();
repository.getConfig().setString("core", null, "quotepath", "false");
repository.getConfig().save();
FS fs = repository.getFS();
fs.setCharset(Charset.forName("UTF-8"));
```
设置完成后,再次进行 JGit 克隆操作,就可以避免中文名导致的 java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters 异常了。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)