JavaがWindowsのMAX_PATHの制限を克服する方法を知っていますか?以下のコードを使用すると、Javaで本当に長いパスを作成でき、I/Oを実行することができました。これは、接頭辞\\?\を付けずにウィンドウを使用することは不可能でした。Javaはどのようにウィンドウを迂回するのですか?MAX_PATH WinAPIの制限
public static void main(String[] args) throws IOException {
BufferedWriter bufWriter = null;
try {
StringBuilder s = new StringBuilder();
for (int i = 0; i < 130; i++) {
s.append("asdf\\");
}
String filePath = "C:\\" + s.toString();;
System.out.println("File Path = " + filePath);
File f = new File(filePath);
f.mkdirs();
f = new File(f, "dummy.txt");
System.out.println("Full path = " + f);
bufWriter = new BufferedWriter(new FileWriter(f));
bufWriter.write("Hello");
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (bufWriter != null) {
bufWriter.close();
}
}
}
使用しているWindowsのバージョンは? –
私はWindows 7を使用しています... – Rajiv