私は次のコードのチャンクを持っています:
private void saveAs()
{
CDocument currentDocument=this.panelMain().openedDocuments().get(this.panelMain().openedDocuments().size()-1);
StyledDocument contents=currentDocument.getStyledDocument();
DefaultEditorKit kit=new DefaultEditorKit();
JFileChooser chooserSaveAs=new JFileChooser();
chooserSaveAs.setDialogTitle("Save as ...");
if(chooserSaveAs.showSaveDialog(this)==JFileChooser.APPROVE_OPTION)
{
String strNewFilename=chooserSaveAs.getSelectedFile().getName();
BufferedOutputStream out;
try
{
out=new BufferedOutputStream(new FileOutputStream(strNewFilename));
kit.write(out,
contents,
contents.getStartPosition().getOffset(),
contents.getLength());
out.close();
}
catch(IOException | BadLocationException ex)
{
Logger.getLogger(CFrameMain.class.getName()).log(Level.SEVERE,
null,
ex);
}
}
}
実行されると、このコードは例外を生成しませんが、ディスク上のどこにも保存されたファイルを見つけることができません(Total Commanderでローカルディスクを検索しました)。ファイルが生成されないのはなぜですか?私は現在Windows7Ultimateで作業していて、ログに記録されたユーザーのデスクトップに保存しようとしました(アクセス違反の問題が発生する可能性があるため...)?