`

与文件路径相关操作

    博客分类:
  • 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

 

 

分享到:
评论

相关推荐

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

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

    C#文件读写路径总结

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

    ant自动获取文件路径

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

    浏览文件 获取文件路径

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

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

    delphi 与文件路径相关的字符串操作 希望大家喜欢

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

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

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

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

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

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

    快速复制文件路径的工具

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

    JS正确读取文件路径

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

    C#中文件路径相关操作

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

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

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

    获取文件路径

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

    实现拖动文件获取路径

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

    拖拽-获取文件路径.

    7. **文件操作**:获取到文件路径后,开发者可以进行各种文件操作,如复制、移动、打开、上传等。这些操作需要根据具体业务需求来实现。 拖拽获取文件路径这一功能在很多场景下都非常实用,比如文件管理软件、图片...

    kettle动态设置输入文件路径

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

    C# 获得文件路径信息

    在C#编程语言中,获取文件路径信息是日常开发中非常常见的操作。文件路径信息包含了文件在计算机系统中的完整定位,包括驱动器、目录结构以及文件名。在本篇文章中,我们将深入探讨如何使用C#来获取和处理文件路径。...

    MFC 拖曳文件获得文件路径

    在MFC中处理拖放操作,特别是拖曳文件以获取文件路径,是常见的功能之一,这在例如文件管理器、编辑器或者自定义桌面小工具等应用中非常实用。本文将深入探讨如何在MFC应用中实现这一功能。 首先,要启用拖放操作,...

    VC获取文件路径

    在C++编程中,获取文件路径是一项常见的任务,特别是在开发涉及文件操作的程序时。文件路径可以是绝对路径,从根目录开始,也可以是相对路径,相对于当前工作目录。本篇将详细介绍几种在C++中获取文件路径的方法。 ...

    用java通过文件操作实现最短路径问题

    下面我们将详细讨论如何在Java中通过文件操作来解决最短路径问题。 首先,我们需要了解最短路径算法。其中,Dijkstra算法和Floyd-Warshall算法是两种常用的方法。Dijkstra算法适用于单源最短路径问题,而Floyd-...

Global site tag (gtag.js) - Google Analytics