`

与文件路径相关操作

    博客分类:
  • Java
阅读更多

与文件路径相关的操作

(1)判断给定路径是否是绝对路径

例如d:\bin和E:是绝对路径,而..\temp 和 test\ccc 不是绝对路径

public static final String OSNAME = System.getProperty("os.name");
public static boolean isWindows = false;
	public static boolean isHP_UX = false;
	public static boolean isSolaris = false;
	public static boolean isOS32bit = true;
static {
		if (SystemHWUtil.OSNAME.toLowerCase().contains("window")) {
			isWindows = true;
		}
		if (SystemHWUtil.OSNAME.toLowerCase().contains("hp-ux")) {
			isHP_UX = true;
		}
		if (SystemHWUtil.OSNAME.toLowerCase().contains("Solaris")) {
			isSolaris = true;
		}
		if (SystemHWUtil.OSARCH.contains("64")) {
			isOS32bit = false;
		}
	}

/***
	 * Determine whether it is an absolute path.
	 * 
	 * @param input
	 * @return
	 */
	public static boolean isAbsolutePath(String input) {
		if (ValueWidget.isNullOrEmpty(input)) {
			throw new RuntimeException("can not be null");
		}
		if (isWindows) {
			return input.matches("^[a-zA-Z]:\\\\?.*");//"^[a-zA-Z]:\\\\.*"
		} else {
			return input.matches("^/.*");
		}
	}

 测试代码:

@Test
	public void test_isAbsolutePath(){
		String path="d:\\bin";
		System.out.println(SystemHWUtil.isAbsolutePath(path));
	}

 执行结果:true

 

 

(2)打开指定路径

/***
	 * 
	 * @param folder
	 *            : directory
	 */
	public static void open_directory(Object folderObj) {
		if (ValueWidget.isNullOrEmpty(folderObj)) {
			return;
		}
		File file = null;
		if (folderObj instanceof JTextField) {
			JTextField tf = (JTextField) folderObj;
			file = new File(tf.getText());
		} else if (folderObj instanceof String) {
			file = new File((String) folderObj);
		} else {
			file = (File) folderObj;
		}
		if (!file.exists()) {
			return;
		}
		Runtime runtime = null;
		try {
			runtime = Runtime.getRuntime();
			if (!SystemHWUtil.isWindows) {
				// System.out.println("is linux");
				runtime.exec("nautilus " + file.getAbsolutePath());
			} else {
				runtime.exec("cmd /c start explorer " + file.getAbsolutePath());
			}
		} catch (IOException ex) {
			ex.printStackTrace();
		} finally {
			if (null != runtime) {
				runtime.runFinalization();
			}
		}
	}

	/***
	 * 
	 * @param filePath
	 *            : only regular file
	 */
	public static boolean open_file(Object folderObj) {
		if (ValueWidget.isNullOrEmpty(folderObj)) {
			return false;
		}
		File file = null;
		if (folderObj instanceof JTextField) {
			JTextField tf = (JTextField) folderObj;
			file = new File(tf.getText());
		} else if (folderObj instanceof String) {
			file = new File((String) folderObj);
		} else {
			file = (File) folderObj;
		}
		if (!file.exists()) {
			return false;
		}
		Runtime runtime = null;
		try {
			runtime = Runtime.getRuntime();
			if (!SystemHWUtil.isWindows) {
				// System.out.println("is linux");
				runtime.exec("nautilus " + file.getAbsolutePath());
			} else {
				runtime.exec("cmd /c start explorer /select,/e, "
						+ file.getAbsolutePath());
			}
		} catch (IOException ex) {
			ex.printStackTrace();
			return false;
		} finally {
			if (null != runtime) {
				runtime.runFinalization();
			}
		}
		return true;
	}

 

见附件中类com.io.hw.file.util.FileUtils

 

 

分享到:
评论

相关推荐

    delphi 与文件路径相关的字符串操作

    ### Delphi 与文件路径相关的字符串操作 在Delphi编程中,处理文件路径是一个非常常见的需求。本篇文章将详细介绍Delphi中与文件路径相关的字符串操作方法,并通过具体的代码示例来展示这些方法的功能和用途。 ###...

    文件的Handle获取文件路径

    描述中提到,这种需求在网络上找到的相关资源较少,可能是因为它相对较为底层,且多数情况下可以通过其他方式获取文件路径。 在Windows系统中,我们可以利用内核模式下的API来实现这个功能。这里提到的`...

    易语言根据文件句柄取文件路径源码

    在易语言中,我们可以通过系统提供的函数来获取或操作文件句柄,从而进行一系列的文件操作,比如读取、写入或者获取文件路径。 下面是一个基本的示例,展示了如何在易语言中根据文件句柄获取文件路径: ```易语言 ...

    vb 实现文件拖拽显示文件路径

    在VB(Visual Basic)编程环境中,实现文件拖拽并显示文件路径是一项常见的功能,尤其在设计用户界面时,能够提高用户的交互体验。本教程将详细解释如何通过VB来实现这一功能。 首先,我们需要理解VB中的DragDrop...

    C#文件读写路径总结

    本文档总结了C#文件读写路径相关的知识点,涵盖路径操作、文件和目录操作、读写文件、文件系统监视等方面。下面是详细的知识点总结: 一、路径相关操作 1. 判定路径是否有效/合法:使用 Path.GetInvalidPathChars ...

    ant自动获取文件路径

    此外,Ant还提供了许多其他与文件操作相关的任务,如`<copy>`, `<move>`, `<delete>`, `<touch>`等,它们都涉及到对文件路径的处理。 总结来说,Ant自动获取文件路径涉及了Ant的属性设置、文件集定义、路径操作以及...

    易语言根据文件句柄取文件路径

    "易语言根据文件句柄取文件路径"是这样一个功能,它允许开发者通过已有的文件句柄获取到文件的实际路径,这对于调试、日志记录或者权限控制等场景非常有用。下面我们将详细讲解这个知识点。 首先,文件句柄是操作...

    浏览文件 获取文件路径

    总的来说,“浏览文件 获取文件路径”这一功能涵盖了许多IT开发中的基本概念,包括用户界面设计、文件系统交互、路径处理、文件操作和安全考虑。掌握这些知识点对于编写任何需要与文件打交道的应用程序都至关重要。

    获取文件的相关信息,文件大小/文件路径/文件类型

    例如,Python语言有os和os.path模块可以获取和操作文件路径,stat模块可以获取文件大小和类型等信息。 在实际应用中,还可能需要获取更多文件信息,如创建日期、修改日期、权限设置等。在处理大量文件时,了解如何...

    java文件路径操作详细(转载)

    Java文件路径操作是Java开发中常见且重要的任务,无论是在读写文件、处理资源还是进行系统交互时,都需要对文件路径进行操作。本篇将详细探讨Java中的文件路径处理技术,主要涵盖以下知识点: 1. **File类**: ...

    BAT批处理脚本-文件相关操作-分离路径和文件名.cmd.zip

    在IT行业中,批处理脚本是一种...总的来说,这个压缩包提供的脚本是一个很好的学习资源,帮助我们理解如何在批处理脚本中处理文件路径和名称。通过掌握这些基础知识,我们可以进一步提升工作效率,实现更多自动化操作。

    快速复制文件路径的工具

    这种工具通常具有直观的界面和快捷功能,使得在各种操作系统中,如Windows,快速获取并粘贴文件路径变得更加便捷。 在描述中提到“亲自尝试过 非常好用,保存待用”,这表明该工具已被实际测试,并且提供了良好的...

    BAT批处理脚本-文件相关操作-获取相对路径.cmd.zip

    但在这个特定的案例中,主要关注的是文件路径的操作。在Windows系统下,文件路径分为绝对路径和相对路径。绝对路径是从根目录开始的完整路径,而相对路径则是相对于当前工作目录的路径。 "获取相对路径.cmd.txt"这...

    JS正确读取文件路径

    在进行 JSP 页面开发时,想要获取文件的路径,进行一些操作,常常会遇到由于 IE 安全性设置造成的不能正确读取文件路径的问题。下面将详细介绍该问题的解决方法。 问题描述 在 JSP 页面中,我们想要获取文件的路径...

    C#中文件路径相关操作

    以上就是C#中文件路径操作的详细介绍,包括合法性检查、路径拆分、合并、系统目录获取、路径类型判断、当前目录操作以及文件夹浏览对话框的使用。这些知识点对于日常的文件系统操作至关重要,熟练掌握能显著提升开发...

    C#路径文件目录IO常见操作汇总

    本文将概述一些关键的路径操作,包括路径合法性检查、路径类型判断、路径部分提取、路径合并以及系统目录获取。同时,也会简要介绍如何使用通用文件对话框进行文件和目录操作。 1. **路径合法性判断** 使用`Path....

    获取文件路径

    无论哪种编程语言,获取文件路径都是通过与操作系统的文件系统接口交互实现的。在处理文件路径时,还要注意路径分隔符的问题,Windows使用反斜杠(\),而Unix/Linux使用正斜杠(/)。大多数现代编程语言会自动处理这些...

    实现拖动文件获取路径

    我们从`e.Data`中获取文件路径的数组,并对每个文件执行相应的操作,比如显示路径、读取文件内容或进行其他处理。 5. **注意事项** - 确保你的应用有权限访问用户文件,否则可能无法正确获取文件路径。 - 虽然...

    kettle动态设置输入文件路径

    【标题】"Kettle动态设置输入文件路径"指的是在Pentaho Data Integration(简称Kettle,也称为Spoon)工具中,如何根据特定条件或变量动态地设定数据处理过程中的输入文件路径。Kettle是一个开源的数据集成平台,...

Global site tag (gtag.js) - Google Analytics