本文整理了Java中org.openide.filesystems.FileUtil.findFreeFileName()
方法的一些代码示例,展示了FileUtil.findFreeFileName()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。FileUtil.findFreeFileName()
方法的具体详情如下:
包路径:org.openide.filesystems.FileUtil
类名称:FileUtil
方法名:findFreeFileName
[英]Finds an unused file name similar to that requested in the same folder. The specified file name is used if that does not yet exist or is FileObject#isVirtual. Otherwise, the first available name of the form basename_nnn.ext
(counting from one) is used.
Caution: this method does not lock the parent folder to prevent race conditions: i.e. it is possible (though unlikely) that the resulting name will have been created by another thread just as you were about to create the file yourself (if you are, in fact, intending to create it just after this call). Since you cannot currently lock a folder against child creation actions, the safe approach is to use a loop in which a free name is retrieved; an attempt is made to FileObject#createDatathat file; and upon an IOException
during creation, retry the loop up to a few times before giving up.
[中]查找与同一文件夹中请求的文件名相似的未使用文件名。如果指定的文件名尚不存在或是FileObject#isVirtual,则使用该文件名。否则,将使用表格basename_nnn.ext
(从一开始计算)的第一个可用名称。
*警告:*此方法不会锁定父文件夹以防止竞争条件:即,结果名称可能(尽管不太可能)是由另一个线程创建的,正如您将要自己创建文件一样(如果您实际上打算在调用之后创建文件)。由于当前无法针对子创建操作锁定文件夹,因此安全的方法是使用一个循环,在该循环中检索自由名称;试图将FileObject#Createdata复制到该文件;在创建过程中遇到IOException
错误时,请在放弃之前重试循环几次。
代码示例来源:origin: org.netbeans.modules/org-netbeans-modules-visualweb-palette
public static String getFreeFileName(FileObject folder, String filename, String nameExt) {
String myfilename = filename.replaceAll("\\W", "");
return FileUtil.findFreeFileName(folder, myfilename, nameExt);
}
}
代码示例来源:origin: nl.cloudfarming.client/field-project
@Override
public Transferable paste() throws IOException {
FileObject fieldsFolder = getLookup().lookup(FileObject.class);
String name = FileUtil.findFreeFileName(fieldsFolder, field.getName(), Field.EXT);
LOGGER.log(Level.FINEST, "found free filename: {0}", name);
FileObject fieldFile = fieldsFolder.createData(name, Field.EXT);
FieldManager fieldManager = Lookup.getDefault().lookup(FieldManager.class);
fieldManager.save(field, fieldFile);
return null;
}
};
代码示例来源:origin: net.sf.squirrel-sql.thirdparty-non-maven/openide-loaders
public void run () throws IOException {
String fileName;
if (name == null) {
fileName = FileUtil.findFreeFileName(
fo, className.replace ('.', '-'), INSTANCE);
} else {
fileName = escape(name);
}
fos[0] = fo.createData (fileName, INSTANCE);
fos[0].setAttribute(EA_INSTANCE_CLASS, className);
}
});
代码示例来源:origin: net.sf.squirrel-sql.thirdparty-non-maven/openide-loaders
public void run () throws IOException {
FileObject fo = folder.getPrimaryFile ();
String filename = name;
if (filename == null) {
filename = instance.getClass().getName().replace ('.', '-');
filename = FileUtil.findFreeFileName(fo, filename, XML_EXT);
} else {
String escapedFileName = escape(filename);
// do not cut if such file already exist
FileObject newFile = fo.getFileObject (escapedFileName, XML_EXT);
if (newFile == null) {
filename = escapeAndCut(filename);
} else {
filename = escapedFileName;
}
if (create /*|| (newFile == null && Utilities.isWindows()) */) {
filename = FileUtil.findFreeFileName(fo, filename, XML_EXT);
}
}
result = storeSettings(folder, filename, instance, mi);
}
代码示例来源:origin: org.netbeans.modules/org-netbeans-modules-performance
private synchronized void stop(int round) throws Exception {
ActionListener ss = (ActionListener) profiler;
profiler = null;
if (!profiling) {
return;
}
FileObject wd = FileUtil.toFileObject(getWorkDir());
String n = FileUtil.findFreeFileName(wd, "snapshot-" + round, "nps"); // NOI18N
FileObject snapshot = wd.createData(n, "nps"); // NOI18N
DataOutputStream dos = new DataOutputStream(snapshot.getOutputStream());
ss.actionPerformed(new ActionEvent(dos, 0, "write")); // NOI18N
dos.close();
LOG.log(
Level.WARNING, "Profiling snapshot taken into {0}", snapshot.getPath()
);
}
代码示例来源:origin: net.sf.squirrel-sql.thirdparty-non-maven/openide-loaders
/** Check if in specific folder exists fileobject with the same name.
* If it exists user is asked for confirmation to rewrite, rename or cancel operation.
* @param folder destination folder
* @return the suffix which should be added to the name or null if operation is cancelled
*/
private String existInFolder(FileObject fo, FileObject folder) {
// merge folders when neccessary
if (fo.isFolder () && isMergingFolders ())
return ""; // NOI18N
String orig = fo.getName ();
String name = FileUtil.findFreeFileName(
folder, orig, fo.getExt ()
);
if (name.length () <= orig.length ()) {
return ""; // NOI18N
} else {
return name.substring (orig.length ());
}
}
代码示例来源:origin: org.netbeans.api/org-netbeans-modules-performance
private synchronized void stop(int round) throws Exception {
ActionListener ss = (ActionListener) profiler;
profiler = null;
if (!profiling) {
return;
}
FileObject wd = FileUtil.toFileObject(getWorkDir());
String n = FileUtil.findFreeFileName(wd, "snapshot-" + round, "nps"); // NOI18N
FileObject snapshot = wd.createData(n, "nps"); // NOI18N
DataOutputStream dos = new DataOutputStream(snapshot.getOutputStream());
ss.actionPerformed(new ActionEvent(dos, 0, "write")); // NOI18N
dos.close();
LOG.log(
Level.WARNING, "Profiling snapshot taken into {0}", snapshot.getPath()
);
}
代码示例来源:origin: org.netbeans.modules/org-netbeans-modules-web-jsf-navigation
public void actionPerformed(ActionEvent e) {
try {
final PageFlowController pfc = scene.getPageFlowView().getPageFlowController();
final FileObject webFileObject = pfc.getWebFolder();
String name = FileUtil.findFreeFileName(webFileObject, "page", "jsp");
name = JOptionPane.showInputDialog("Select Page Name", name);
createIndexJSP(webFileObject, name);
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
}
// }
}
代码示例来源:origin: org.netbeans.modules/org-netbeans-modules-web-jsf-navigation
public void actionPerformed(ActionEvent e) {
// This would work if we wanted to use the wizard.
// Action newFileAction = CommonProjectActions.newFileAction();
// JOptionPane.showMessageDialog(null, "Source: " + e.getSource());
Object obj = e.getSource();
if (obj instanceof PageFlowScene) {
try {
scene = (PageFlowScene) obj;
PageFlowController pfc = scene.getPageFlowView().getPageFlowController();
FileObject webFileObject = pfc.getWebFolder();
String name = FileUtil.findFreeFileName(webFileObject, "Templates/JSP_Servlet/JSP.jsp", "jsp");
name = JOptionPane.showInputDialog("Select Page Name", name);
createIndexJSP(webFileObject, name);
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
}
}
}
代码示例来源:origin: nl.cloudfarming.client/field-project
/**
* Copy sourcefiles to import-folder
* @param dataObject
*/
@Override
public void importSources(DataObject dataObject) {
FileObject importFolder = getImportFolder(true);
Iterator<FileObject> files = dataObject.files().iterator();
while(files.hasNext()){
FileObject current = files.next();
try {
String newFileName = FileUtil.findFreeFileName(importFolder, current.getName(), current.getExt());
FileUtil.copyFile(current, importFolder, newFileName);
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
}
}
}
代码示例来源:origin: nl.cloudfarming.client/import
/**
* Copies the specified fileObject to the specified targetFolder. Tries to
* get a free filename for the file object
*
* @param targetFolder the folder the fileObject must be copied to
* @param toCopy the file to be copied
* @return the copied fileObject or null if it could not be copied
*/
private FileObject copy(FileObject targetFolder, FileObject toCopy) {
try {
String newFileName = FileUtil.findFreeFileName(targetFolder, toCopy.getName(), toCopy.getExt());
return FileUtil.copyFile(toCopy, targetFolder, newFileName);
} catch (IOException ex) {
LOGGER.log(Level.SEVERE, "Could not copy file {0} with the exception {1}", new Object[]{toCopy.getName(), ex});
}
return null;
}
代码示例来源:origin: net.sf.squirrel-sql.thirdparty-non-maven/openide-loaders
public Object run () throws IOException {
FileObject fo;
if (trg.isData ()) {
fo = trg;
} else {
String n;
if (name == null) {
// #45810 - if obj is disk root then fix the filename
String baseName = obj.getName().replace(':', '_').replace('/', '_'); // NOI18N
n = FileUtil.findFreeFileName (trg, baseName, ext);
} else {
n = name;
}
fo = trg.createData (n, ext);
}
writeShadowFile(fo, obj.getPrimaryFile().getURL());
return fo;
}
});
代码示例来源:origin: eu.agrosense.client/import
/**
* Copies the specified FileObject to the specified targetFolder.
*
* <p>
* Tries to get a free filename for the file object</p>
*
* @param targetFolder the folder the fileObject must be copied to
* @param toCopy the file to be copied
* @return the copied fileObject or null if it could not be copied
*/
private FileObject copy(FileObject targetFolder, FileObject toCopy) {
try {
String newFileName = FileUtil.findFreeFileName(targetFolder, toCopy.getName(), toCopy.getExt());
return FileUtil.copyFile(toCopy, targetFolder, newFileName);
} catch (IOException ex) {
LOGGER.log(Level.SEVERE, "Could not copy file {0} with the exception {1}", new Object[]{toCopy.getName(), ex});
}
return null;
}
代码示例来源:origin: org.netbeans.modules/org-netbeans-modules-profiler
private String getCurrentHeapDumpFilename(String targetFolder) {
try {
String fileName = ResultsManager.getDefault().getDefaultHeapDumpFileName(System.currentTimeMillis());
FileObject folder = (targetFolder == null)
? ProjectStorage.getSettingsFolder(NetBeansProfiler.getDefaultNB().getProfiledProject(), true)
: FileUtil.toFileObject(FileUtil.normalizeFile(new File(targetFolder)));
return FileUtil.toFile(folder).getAbsolutePath() + File.separator
+ FileUtil.findFreeFileName(folder, fileName, ResultsManager.HEAPDUMP_EXTENSION) + "."
+ ResultsManager.HEAPDUMP_EXTENSION; // NOI18N
} catch (IOException e) {
return null;
}
}
代码示例来源:origin: nl.cloudfarming.client/field-project
@Override
public void importShapes(List<Shape> shapes) {
FileObject fieldsFolder = getFieldsFolder(true);
for (Shape shape : shapes) {
// Create field from shape
Field field = new Field();
field.setGeometry(shape.getGeometry());
field.setName(shape.getName());
try {
String name = FileUtil.findFreeFileName(fieldsFolder, field.getName(), Field.EXT);
LOGGER.log(Level.FINEST, "found free filename: {0}", name);
FileObject fieldFile;
fieldFile = fieldsFolder.createData(name, Field.EXT);
FieldManager fieldManager = Lookup.getDefault().lookup(FieldManager.class);
fieldManager.save(field, fieldFile);
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
}
}
}
代码示例来源:origin: net.sf.squirrel-sql.thirdparty-non-maven/openide-loaders
/** Creates shadow for this object in specified folder (overridable in subclasses).
* <p>The default
* implementation creates a reference data shadow and pastes it into
* the specified folder.
*
* @param f the folder to create a shortcut in
* @return the shadow
*/
protected DataShadow handleCreateShadow (DataFolder f) throws IOException {
// #33871 - prevent creation of recursive folder structure
testNesting(this, f);
String name;
if (getPrimaryFile ().isRoot ()) {
name = FileUtil.findFreeFileName (
f.getPrimaryFile (), ROOT_SHADOW_NAME, DataShadow.SHADOW_EXTENSION
);
} else {
name = null;
}
return DataShadow.create (f, name, this);
}
代码示例来源:origin: net.sf.squirrel-sql.thirdparty-non-maven/openide-loaders
protected DataObject handleCreateFromTemplate (
DataFolder df, String name
) throws IOException {
FileObject fo;
if (name == null) {
name = FileUtil.findFreeFileName(
df.getPrimaryFile (), getPrimaryFile ().getName (), getPrimaryFile ().getExt ()
);
}
fo = getPrimaryEntry().createFromTemplate (df.getPrimaryFile (), name);
Iterator it = secondaryEntries().iterator();
while (it.hasNext ()) {
((Entry)it.next()).createFromTemplate (df.getPrimaryFile (), name);
}
try {
return createMultiObject (fo);
} catch (DataObjectExistsException ex) {
return ex.getDataObject ();
}
}
代码示例来源:origin: net.sf.squirrel-sql.thirdparty-non-maven/openide-loaders
public FileObject createFromTemplate (FileObject f, String name) throws IOException {
if (name == null) {
name = FileUtil.findFreeFileName(
f,
getFile ().getName (), getFile ().getExt ()
);
}
FileObject fo = getFile().copy (f, name, getFile().getExt ());
// unmark template state
DataObject.setTemplate (fo, false);
return fo;
}
代码示例来源:origin: net.sf.squirrel-sql.thirdparty-non-maven/openide-loaders
/** Creates new folder and copies attributes, the template flag is cleared.
* @param f the folder to create this entry in
* @param name the new name to use
* @return the copied <code>FileObject</code> or <code>null</code> if it cannot be copied
* @exception IOException when the operation fails
*/
public FileObject createFromTemplate (FileObject f, String name) throws IOException {
if (name == null) {
name = FileUtil.findFreeFileName(
f,
getFile ().getName (), getFile ().getExt ()
);
}
FileObject fo = FileUtil.createFolder (f, name);
FileUtil.copyAttributes (getFile (), fo);
DataObject.setTemplate (fo, false);
return fo;
}
代码示例来源:origin: org.netbeans.modules/org-netbeans-modules-j2ee-jboss4
private static void register(FileObject serverInstanceDir, String serverLocation, String domainLocation, String host, String port) throws IOException {
String displayName = generateDisplayName(serverInstanceDir);
String url = URI_PREFIX + host + ":" + port + "#default&" + serverLocation; // NOI18N
String name = FileUtil.findFreeFileName(serverInstanceDir, "instance", null); // NOI18N
FileObject instanceFO = serverInstanceDir.createData(name);
instanceFO.setAttribute(InstanceProperties.URL_ATTR, url);
instanceFO.setAttribute(InstanceProperties.USERNAME_ATTR, "");
instanceFO.setAttribute(InstanceProperties.PASSWORD_ATTR, "");
instanceFO.setAttribute(InstanceProperties.DISPLAY_NAME_ATTR, displayName);
instanceFO.setAttribute(InstanceProperties.REMOVE_FORBIDDEN, "true");
instanceFO.setAttribute(JBPluginProperties.PROPERTY_SERVER, "default"); // NOI18N
String deployDir = JBPluginUtils.getDeployDir(domainLocation);
instanceFO.setAttribute(JBPluginProperties.PROPERTY_DEPLOY_DIR, deployDir);
instanceFO.setAttribute(JBPluginProperties.PROPERTY_SERVER_DIR, domainLocation);
instanceFO.setAttribute(JBPluginProperties.PROPERTY_ROOT_DIR, serverLocation);
instanceFO.setAttribute(JBPluginProperties.PROPERTY_HOST, host);
instanceFO.setAttribute(JBPluginProperties.PROPERTY_PORT, port);
}
内容来源于网络,如有侵权,请联系作者删除!