0
Javaを使用してWindows 7にファイルを作成しようとすると、次の例外が発生します。パスの例は、 "C:/ g-ecx/images-amazon/com/images/G/01/gno/images/orangeBlue/navPackedSprites-US-22。V183711641 .png"です。私がパスでハードコードをしているのであれば動作します。私は2時間頭を叩いていた。だれでも助けることができる。イメージを保存するファイルを作成しようとしていますJava
mkdirは失敗しますが、例外はありませんが、createファイルは例外をスローします。必要に応じて
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:883)
at org.willmanning.mtt.html.processingbehavior.ImageProcessingBehavior.processImage(ImageProcessingBehavior.java:125)
at org.willmanning.mtt.html.processingbehavior.ImageProcessingBehavior.loadImages(ImageProcessingBehavior.java:99)
at org.willmanning.mtt.html.processingbehavior.ImageProcessingBehavior.processNodes(ImageProcessingBehavior.java:66)
at org.willmanning.mtt.html.processingbehavior.ImageProcessingBehavior.processRootNode(ImageProcessingBehavior.java:34)
at org.willmanning.mtt.html.ParsingFacade.processURL(ParsingFacade.java:38)
at org.willmanning.mtt.App.main(App.java:45)
/**
*
* @param image
* @param url
*/
public void processImage(BufferedImage image, URL url) {
StringBuilder path = new StringBuilder();
path.append("C:/Users/will/Documents/");
path.append(url.getHost().replace('.', '/'));
path.append(url.getFile());
path.replace(path.lastIndexOf("."), path.length(), ".txt");
File file = new File(path.toString());
boolean mkdir = file.mkdir();
boolean isNew = false;
try {
isNew = file.createNewFile();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
/*
* only create the file if it doesn't exist
*/
if (isNew) {
try {
ImageIO.write(image, "jpg", file);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
だからそれは動作するように見えたが、今何が起こるか、それであります"navPackedSprites-US-22.V183711641.png"と呼ばれるフォルダ(例のパスから)を作成し、私のcreateFileコールが戻ります偽です。 – Will
だから私はそれが働いている、私はディレクトリとファイルの部分に私のパスをもう一度チョップする必要があります、それはimage.gifがフォルダ名であると仮定します。 – Will