我正在使用JCIFS来访问一个包含很多日文名称的文件共享,当我在其中的字符时遇到问题
例如:
路径人事部/要员·コスト管理课/
第一部分没问题,但第二部分引起了问题。这可能与“·”可以使用斜线输入的事实有关,但我不确定。我试过逃避角色,但似乎没有解决问题。你有什么可能导致它的线索吗?
答案 0 :(得分:4)
查看 heenenee 评论,通过服务器文件系统走一走,检查真正的共享名称是什么。我正在测试使用带有Java源(UTF-8)的Samba服务器(UTF-8)中的中间点和日语名称访问网络共享时没有问题。
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.junit.Test;
import jcifs.smb.SmbFile;
import junit.framework.TestCase;
public class JCifstest extends TestCase {
@Test
public void testJCifs() throws IOException {
System.out.println(Charset.defaultCharset());
SmbFile smbFile = new SmbFile("smb://myuser:mypass@myserver/basepath/人事部要員・コスト管理課/test.txt");
File destFile = new File("/tmp/" + smbFile.getName());
FileUtils.writeByteArrayToFile(destFile, IOUtils.toByteArray(smbFile.getInputStream()));
assertEquals("content", FileUtils.readFileToString(destFile));
}
}