我在 Android Studio 中有一个小的 Java 代码。我在模拟器(Android 7.1.1 API 25)中运行它。
如何验证文件名和文件名长度?
我应该检查路径名的长度还是仅检查文件名的长度!
我发现 Android 支持 255 个字符作为文件名。
孟加拉语文件名文本 (UNICODE UTF-8)
File downloadFile = new File("/storage/emulated/0/MyDownload/আমার সোনার বাংলা আমি তোমায় ভালোবাসি চিরদিন তোমার আকাশ তোমার বাতাস আমার প্রাণে বাজায় বাঁশি ও মা ফাগুনে তোর.mp4");
FileOutputStream outputStream = new FileOutputStream(downloadFile, true);
downloadFile.toString().length() // OUTPUT: 142
错误: java.io.FileNotFoundException:/storage/emulated/0/MyDownload/আমার সোনার বাংলা আমি তোমায় ভালো বাসি চিরদিন তোমার আকাশ তোমার বাতাস আমার প্রাণে বাজায়বাঁশিওমাফাগুনেতোর.mp4(文件名字太长)
最佳答案
String name = "আমার-সোনার-বাংলা-আমি-তোমায়-ভালোবাসি-চিরদিন-তোমার-আকাশ-তোমার-বাতাস-আমার-প্রাণে-বাজায়-বাঁশি-ও-মা-ফাগুনে-তোর.mp4";
final byte[] utf8Bytes = name.getBytes(StandardCharsets.UTF_8);
if(utf8Bytes.length > 255) {
name = new String(Arrays.copyOfRange(utf8Bytes, 0, 255), StandardCharsets.UTF_8);
}
System.out.println(name);
关于java - Android Java 文件创建 java.io.FileNotFoundException(文件名太长),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73838216/