文件属性读取

合集下载

VBA 中的文件属性与标签操作指南

VBA 中的文件属性与标签操作指南

VBA 中的文件属性与标签操作指南随着计算机技术的不断发展与普及,文件管理成为了我们日常工作中不可避免的一部分。

而在 VBA(Visual Basic for Applications)编程中,文件属性与标签的操作是非常重要的。

本篇文章将向您介绍 VBA 中的文件属性与标签操作指南,帮助您更好地管理和操作文件。

一、文件属性的获取与修改在 VBA 中,我们可以使用 Shell 对象来获取或修改文件的属性。

以下是一些常用的文件属性的获取和修改方法:1. 文件路径和文件名通过 VBA 中的 FileDialog 对象,我们可以创建一个文件对话框并让用户选择文件。

然后,我们可以获取所选文件的路径和文件名,并将其保存到一个变量中,以便后续的操作。

2. 文件大小使用FileLen 函数可以获取文件的大小。

该函数接受文件的完整路径作为参数,返回文件的大小(以字节为单位)。

3. 创建日期和修改日期通过使用 VBA 中的 FileSystemObject 对象,我们可以获取文件的创建日期和修改日期。

使用此对象的 GetFile 方法,将文件路径作为参数传递给该方法,然后可以使用 FileDateTime 属性来获取文件的创建日期和修改日期。

4. 文件类型使用 FileSystemObject 对象的 GetExtensionName 方法,可以获取文件的扩展名。

该方法将文件路径作为参数传递,并返回文件的扩展名。

5. 文件属性使用 FileSystemObject 对象的 GetAttr 方法,可以获取文件的属性。

该方法将文件路径作为参数传递,并返回文件的属性。

例如,如果返回 1,则表示文件为只读属性。

以上是一些常用的文件属性的获取方法。

如果需要修改文件属性,可以使用SetAttr 方法。

这个方法接受文件路径和属性值作为参数,将属性值写入文件的属性中。

请注意,如果要修改文件的只读属性,需要在修改前先将其取消只读。

二、文件标签的操作文件标签是文件的元数据,用于描述文件的特定信息。

Properties的相对路径以及文件的读取操作

Properties的相对路径以及文件的读取操作

Properties的相对路径以及⽂件的读取操作在我们平时写程序的时候,有些参数是经常改变的,⽽这种改变不是我们预知的。

⽐如说我们开发了⼀个操作数据库的模块,在开发的时候我们连接本地的数据库那么 IP ,数据库名称,表名称,数据库主机等信息是我们本地的,要使得这个操作数据的模块具有通⽤性,那么以上信息就不能写死在程序⾥。

通常我们的做法是⽤配置⽂件来解决。

各种语⾔都有⾃⼰所⽀持的配置⽂件类型。

⽐如 Python,他⽀持 .ini⽂件。

因为他内部有⼀个 ConfigParser类来⽀持 .ini⽂件的读写,根据该类提供的⽅法程序员可以⾃由的来操作 .ini⽂件。

⽽在 Java中, Java⽀持的是 .properties⽂件的读写。

JDK内置的 java.util.Properties类为我们操作 .properties⽂件提供了便利。

⼀. .properties⽂件的形式 ==========================================================#以下为服务器、数据库信息dbPort = localhostdatabaseName = mydbdbUserName = rootdbPassword = root#以下为数据库表信息dbTable = mytable#以下为服务器信息ip = 192.168.0.9······在上⾯的⽂件中我们假设该⽂件名为: test.properties⽂件。

其中 #开始的⼀⾏为注释信息;在等号“ =”左边的我们称之为 key;等号“ =”右边的我们称之为 value 。

(其实就是我们常说的键 -值对) key应该是我们程序中的变量。

⽽ value是我们根据实际情况配置的。

⼆. JDK中的 Properties类 Properties类存在于胞 Java.util中,该类继承⾃ Hashtable ,它提供了⼏个主要的⽅法:1. ( key) ,⽤指定的键在此属性列表中搜索属性。

cmd命令读取文件夹的方法

cmd命令读取文件夹的方法

cmd命令读取文件夹的方法在Windows操作系统中,我们可以使用命令提示符(cmd)来执行各种任务,包括读取文件夹中的文件。

通过cmd命令,我们可以快速查看文件夹中的文件列表、获取文件的属性信息以及进行文件操作等。

本文将介绍几个常用的cmd命令,以帮助您快速读取文件夹中的内容。

1. 查看文件夹中的文件列表我们可以使用dir命令来查看文件夹中的文件列表。

该命令会显示文件名、文件类型、文件大小和文件的最后修改时间等信息。

在cmd中输入以下命令即可查看文件夹中的文件列表:```dir 文件夹路径```其中,文件夹路径可以是绝对路径或相对路径。

例如,要查看当前文件夹中的文件列表,可以直接输入dir命令。

2. 获取文件的属性信息除了查看文件列表,我们还可以使用一些命令来获取文件的属性信息。

例如,我们可以使用attrib命令来查看文件的属性,如文件的只读属性、隐藏属性等。

在cmd中输入以下命令即可获取文件的属性信息:```attrib 文件路径```其中,文件路径可以是绝对路径或相对路径。

例如,要获取当前文件夹中某个文件的属性信息,可以直接输入attrib命令。

3. 进行文件操作除了查看文件列表和获取文件属性信息,我们还可以使用一些命令来进行文件操作。

例如,我们可以使用copy命令来复制文件,使用move命令来移动文件,使用del命令来删除文件等。

在cmd中输入以下命令即可进行文件操作:```copy 源文件路径目标文件路径move 源文件路径目标文件路径del 文件路径```其中,源文件路径和目标文件路径可以是绝对路径或相对路径。

例如,要将当前文件夹中的某个文件复制到另一个文件夹,可以使用copy命令;要删除当前文件夹中的某个文件,可以使用del命令。

4. 输出文件列表到文本文件有时候,我们需要将文件列表导出到文本文件中,以便后续处理。

在cmd中,我们可以使用dir命令的重定向功能实现这一功能。

在cmd中输入以下命令即可将文件列表输出到文本文件:```dir 文件夹路径 > 输出文件路径```其中,文件夹路径可以是绝对路径或相对路径,输出文件路径是导出文件的路径和文件名。

java 读取外部配置文件的方法

java 读取外部配置文件的方法

java 读取外部配置文件的方法Java是一种面向对象的编程语言,具有广泛的应用领域。

在Java开发中,有时需要读取外部配置文件来获取一些参数或配置信息。

下面将介绍一些常见的Java读取外部配置文件的方法。

1. 使用Java的Properties类:Java的Properties类是处理属性文件的工具类,非常适合读取外部配置文件。

以下是一个简单的示例代码:```javaimport java.io.FileInputStream;import java.io.IOException;import java.util.Properties;public class ReadConfigFile {public static void main(String[] args) {Properties prop = new Properties();try {prop.load(new FileInputStream("config.properties"));String value1 = prop.getProperty("key1");String value2 = prop.getProperty("key2");// 使用读取到的配置信息进行后续操作} catch (IOException e) {e.printStackTrace();}}}```通过创建Properties对象并使用load()方法来读取配置文件,可以通过getProperty()方法获取配置文件中的具体键值对。

2. 使用Java的ResourceBundle类:ResourceBundle类提供了一种读取以属性键值对形式存储的配置文件的方式。

以下是一个简单的示例代码:```javaimport java.util.ResourceBundle;public class ReadConfigFile {public static void main(String[] args) {ResourceBundle bundle = ResourceBundle.getBundle("config");String value1 = bundle.getString("key1");String value2 = bundle.getString("key2");// 使用读取到的配置信息进行后续操作}}```使用getBundle()方法加载配置文件,通过getString()方法获取具体的配置信息。

C# 添加、读取、删除Excel文档属性

C# 添加、读取、删除Excel文档属性

C# 添加、读取、删除Excel文档属性在文档属性中,可以设置诸多关于文档的信息,如创建时间、作者、单位、类别、关键词、备注等摘要信息以及一些自定义的文档属性。

下面将通过C#程序来演示如何设置,同时对文档内的已有信息,也可以实现读取或删除等操作。

示例大纲:1. 添加文档属性1.1 添加摘要信息1.2 添加自定义文档信息2. 读取文档属性3. 删除文档信息3.1 删除所有摘要信息、自定义文档属性3.2 删除指定只要信息、自定义文档属性使用工具:Spire.XLS for .NET pack获取方法1:通过官网下载包。

下载后,解压文件,安装Bin文件夹下的程序。

安装后,将安装路径下Bin文件夹下的Spire.Xls.dll文件添加引用至vs项目程序。

如下所示:获取方法2:可通过Nuget下载。

C# 示例【示例】添加文档属性using Spire.Xls;using System;namespace AddProperties{class Program{static void Main(string[] args){//加载Excel文档Workbook workbook = new Workbook();workbook.LoadFromFile("test.xlsx");//设置摘要workbook.DocumentProperties.Author = "Mara";workbook.DocumentProperties.Title = "摘要";workbook.DocumentProperties.Keywords = "摘要,属性";workbook.DocumentProperties.Category = "展示文档";pany = "冰蓝科技";ments = "请勿修改";workbook.DocumentProperties.Subject = "测试";workbook.DocumentProperties.Manager = "Tom";//设置自定义属性workbook.CustomDocumentProperties.Add("_MarkAsFinal", true);workbook.CustomDocumentProperties.Add("联系电话", 81705109);workbook.CustomDocumentProperties.Add("更新时间", DateTime.Now);//保存文档workbook.SaveToFile("AddProperties.xlsx", FileFormat.Version2010); }}}文档属性添加效果:【示例2】读取文档信息using Spire.Xls;using Spire.Xls.Collections;using Spire.Xls.Core;using System;namespace ReadProperties{class Program{static void Main(string[] args){//加载Excel文档Workbook wb = new Workbook();wb.LoadFromFile("AddProperties.xlsx");//获取文档属性Console.WriteLine("摘要信息:");Console.WriteLine("标题: " + wb.DocumentProperties.Title);Console.WriteLine("主题: " + wb.DocumentProperties.Subject);Console.WriteLine("作者: " + wb.DocumentProperties.Author);Console.WriteLine("管理者: " + wb.DocumentProperties.Manager);Console.WriteLine("公司: " + pany);Console.WriteLine("类别: " + wb.DocumentProperties.Category);Console.WriteLine("关键字: " + wb.DocumentProperties.Keywords);Console.WriteLine("备注: " + ments);//获取自定义属性Console.WriteLine("\n自定义属性:");for (int i = 0; i < wb.CustomDocumentProperties.Count; i++){Console.WriteLine(wb.CustomDocumentProperties[i].Name + ": " + wb.CustomDocumentProperties[i].Value);}Console.Read();}}}文档属性读取结果:【示例3】删除文档属性using Spire.Xls;namespace DeleteProperties{class Program{static void Main(string[] args){//加载工作簿Workbook workbook = new Workbook();workbook.LoadFromFile("AddProperties.xlsx");//删除摘要及自定义文档属性workbook.DocumentProperties.Clear();//删除所有摘要信息workbook.CustomDocumentProperties.Clear();//删除所有自定义文档属性//保存文档workbook.SaveToFile("DeleteProperties.xlsx", FileFormat.Version2013);/*//删除指定摘要及自定义文档属性workbook.DocumentProperties.Author = "";//设置指定摘要信息为空,删除摘要内容 workbook.CustomDocumentProperties.Remove("联系电话");//删除指定名称的自定义文档属性workbook.SaveToFile("DeleteCustomDocumentProperties.xlsx",FileFormat.Version2013);*/}}}文档属性删除结果:(本文完)。

Spring框架读取property属性文件常用5种方法

Spring框架读取property属性文件常用5种方法

Spring框架读取property属性⽂件常⽤5种⽅法1、⽅式⼀:通过spring框架 PropertyPlaceholderConfigurer ⼯具实现<bean id="propertyConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="ignoreUnresolvablePlaceholders" value="true"/><property name="locations"><value>classpath:conf/jdbc.properties</value></property><property name="fileEncoding"><value>UTF-8</value></property><property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /></bean><!-- 数据源配置 --><bean id="dataSource" class="mons.dbcp.BasicDataSource"destroy-method="close"><property name="driverClassName" value="${database.connection.driver}"/><property name="url" value="${database.connection.url}"/><property name="username" value="${ername}"/><property name="password" value="${database.connection.password}"/></bean><!-- DAL客户端接⼝实现-><bean id="dalClient" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"/></bean>2、⽅式⼆:简化配置<beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:jee="/schema/jee" xmlns:aop="/schema/aop"xmlns:context="/schema/context" xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans.xsd/schema/jee /schema/jee/spring-jee.xsd/schema/context /schema/context/spring-context.xsd/schema/aop /schema/aop/spring-aop.xsd/schema/tx /schema/tx/spring-tx.xsd"><context:property-placeholder location="classpath:conf/jdbc.properties" ignore-unresolvable="true"/><!-- 数据源配置 --><bean id="dataSource" class="mons.dbcp.BasicDataSource"destroy-method="close"><property name="driverClassName" value="${database.connection.driver}"/><property name="url" value="${database.connection.url}"/><property name="username" value="${ername}"/><property name="password" value="${database.connection.password}"/></bean><!-- DAL客户端接⼝实现--><bean id="dalClient" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"/></bean><!--备注:如果${} 这种写法⽆法读取到,或者编译出错,则增加ignore-unresolvable="true"的属性信息,并添加上⽂的命名空间信息-->jdbc.properties⽂件:database.connection.driver=com.mysql.jdbc.Driverdatabase.connection.url=jdbc:mysql://*.*.*.*:3306/mysql?characterEncoding=utf-8ername=*database.connection.password=*上述配置理解:1)ignore-unresolvable属性的⽰意:<xsd:documentation><![CDATA[Specifies if failure to find the property value to replace a key should be ignored.Default is "false", meaning that this placeholder configurer will raise an exceptionif it cannot resolve a key. Set to "true" to allow the configurer to pass on the keyto any others in the context that have not yet visited the key in question.]]>翻译后:指定是否应忽略未能找到⽤于替换键的属性值。

简单读取properties文件和xml文件两种方法

简单读取properties文件和xml文件两种方法

因为web工程上的连接数据库属性,需要不断改动。

可以把常改动的属性值列入properties文件,或者xml文件操作数据库连接时,直接进行读取文件,增加许多方便性以下是两种读取文件的工具类和properties,xml文件模板 ,还有其方法的测试结果方法一:读取properties文件jdbc.properties 模板代码1.jdbc.driverClassName=com.mysql.jdbc.Driver2.jdbc.url=jdbc\:mysql\://localhost\:3306/jiqimao?useUnicode\=true&characterEncoding\=GBKername=jiqimao4.jdbc.password=jiqimaoRpropertiesUtils.javaJava代码1.package utils;2.3.4.import java.io.IOException;5.import java.io.InputStream;6.import java.util.Properties;7.8./**9. * 描述:读取properties配置文件10. * @author 齐继超11. *12. */13.public class RpropertiesUtils {14.15. /**16. * 配置文件名称,注意文件请放到Source Folder根目录下17. */18. private static String fileName = "jdbc.properties";19.20. /**21. * 描述:根据key获取所对应的value值22. * @param key23. * @return24. * 作者:齐继超25. * 时间:Nov 25, 201026. */27. public static String get(String key){28. return get(fileName,key);29. }30.31.32. /**33. * 描述:进行读取properties配置文件34. * @param fileName35. * @param key36. * @return37. * 作者:齐继超38. * 时间:Nov 25, 201039. */40. public static String get(String fileName,String key){41.42. //根据当前执行线程返回该线程的上下文 ClassLoader43. ClassLoader classLoader = Thread.currentThread().getContextClassLoader();44. String value = "";45. try {46. //加载类获取源,读入输入流47. InputStream in = classLoader.getResource(fileName).openStream();48.49. //定义个持久的属性集50. Properties properties = new Properties();51.52. //从输入流读取属性列表53. properties.load(in);54.55. //用指定的key获取属性列表中的属性值56. value = properties.getProperty(key);57. } catch (IOException e) {58. e.printStackTrace();59. throw new RuntimeException("读取配置文件出错");60. }61. return value;62. }63.64.65.66.67.}测试读取properties文件Java代码1.package Test;2.3.import utils.RpropertiesUtils;4.5.public class TestProperties{6. public static void main(String[] args) {7.8. //测试读取properties文件9. System.out.println(RpropertiesUtils.get("jdbc.url"));10. //输出结果"jdbc:mysql://localhost:3306/jiqimao?useUnicode=true&characterE ncoding=GBK"11.12. }13.}方法二:读取xml文件jdbc.xml 模板Xml代码1.<?xml version="1.0"encoding="utf-8"?>2.<!DOCTYPE properties SYSTEM "/dtd/properties.dtd">3.<properties version="1.0">4.<comment>xml</comment>5.<entry key="driverClassName">com.mysql.jdbc.Driver</entry>6.<entry key="url">jdbc:mysql://localhost:3306/jiqimao?useUnicode=true&amp;characterEncoding=GBK</entry>7.<entry key="username">jiqimao</entry>8.<entry key="password">jiqimao</entry>9.</properties>Rxmlutils.java代码Java代码1.package utils;2.3.import java.io.File;4.import java.io.FileInputStream;5.import java.io.IOException;6.import java.util.HashMap;7.import java.util.Map;8.import java.util.Properties;9.10./**11. * 描述:用properties类读写xml文件12. * @author 齐继超13. *14.*/15.public class RxmlUtils {16.17. /**18. * 定义xml文件的路径19. */20. private static String fileName = "final/jdbc.xml";21.22.23. /**24. * 描述:根据key取出对应value值25. * @param key26. * @return27. * 作者:齐继超28. * 时间:Nov 26, 201029. */30. public static String get(String key){31. return get(fileName,key);32. }33.34.35.36. /**37. * 描述:getValue方法的重载38. * @return39. * 作者:齐继超40. * 时间:Nov 26, 201041. */42. public static String get(String fileName,String key){43.44. //给定路径名来创建一个新 File 实例。

读取文件的方式

读取文件的方式

读取文件的方式本文主要介绍四种常用的方法:1、利用Excel对象来处理文件;2、利用VBA文件处理语句来处理文件;3、利用FileSystemObject对象来处理文件;4、利用API函数来处理文件。

当然对于数据库文件,还可以利用ADO+SQL的方法操作,不过论坛已经有前辈详细介绍过此类方法,本文就不再重复了。

一、利用Excel对象来处理文件利用Excel对象自带的方法来操作文件是最方便,也是最简单的。

我们主要利用Workbooks集合和Workbook对象的方法来操作文件。

1、打开Excel文件我们可以用Workbooks.Open方法打开一个Excel工作簿。

Workbooks.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)其中FileName是必选的参数,表示要打开的工作簿名,如果没有指定路径,则代表当前路径。

另外14个是可选参数,除了密码参数,其他的一般很少用。

具体的含义可以参看VBA 的帮助。

例:Workbooks.Open "F:\test.xls"可以打开F盘的test.xls文件。

2、打开文本文件使用Open方法也可以打开文本文件,但建议使用OpenText方法。

此方法是载入一个文本文件,并将其作为包含单个工作表的工作簿进行分列处理,然后在此工作表中放入经过分列处理的文本文件数据。

完整语法如下:Workbooks.OpenText(FileName, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local)关于以上参数的具体含义可以参看VBA的帮助,这里就不重复了。

读取属性配置文件的五种方式

读取属性配置文件的五种方式

读取属性配置⽂件的五种⽅式读取属性配置⽂件的五种⽅式@Value@ConfigurationProperties@PropertySource + @Value@PropertySource + ConfigurationPropertiesorg.springframework.core.env.Environment读取属性配置的⽰例属性配置⽂件application.properties#服务端⼝号server.port=9424# redis配置# Redis数据库索引(默认为0)spring.redis.database=0# Redis服务器地址spring.redis.host=127.0.0.1# Redis服务器连接端⼝spring.redis.port=6379# Redis服务器连接密码(默认为空)spring.redis.password=demo.properties=huangdemo.sex=1demo.type=demo⽅式⼀:使⽤注解@Value读取属性配置package com.huang.pims.demo.props;import org.springframework.beans.factory.annotation.Value;import ponent;@Componentpublic class ReadByValue {@Value("${server.port}")private int serverPort;@Overridepublic String toString() {return"ReadByValue{" +"serverPort=" + serverPort +'}';}} 使⽤此种⽅式,如⽆其他需求,可不写setter、getter⽅法。

⽅式⼆:使⽤注解@ConfigurationProperties读取属性配置package com.huang.pims.demo.props;import org.springframework.boot.context.properties.ConfigurationProperties;import ponent;@Component@ConfigurationProperties(prefix = "spring.redis")public class ReadByConfigurationProperties {private int database;private String host;private String password;private int port;public void setDatabase(int database) {this.database = database;}public void setHost(String host) {this.host = host;}public void setPassword(String password) {this.password = password;}public void setPort(int port) {this.port = port;}public int getDatabase() {return database;}public int getPort() {return port;}public String getHost() {return host;}public String getPassword() {return password;}@Overridepublic String toString() {return "ReadByConfigurationProperties{" +"database=" + database +", host='" + host + '\'' +", password='" + password + '\'' +", port=" + port +'}';}} 使⽤此种⽅式,必须要有成员变量的setter、getter⽅法。

如何在Windows上设置文件的只读属性

如何在Windows上设置文件的只读属性

如何在Windows上设置文件的只读属性在Windows操作系统中,设置文件的只读属性可以保护文件不被意外的修改或删除。

这对于保护重要文件非常有用,尤其是在共享计算机或将文件传递给其他人时。

本文将介绍如何在Windows上设置文件的只读属性,以便您可以轻松地保护您的文件安全。

一、通过文件属性设置只读属性通过文件属性设置只读属性是最常见的方法之一,它在Windows资源管理器中可以轻松实现。

请按照以下步骤操作:1. 找到您希望设置只读属性的文件。

可以通过资源管理器浏览到文件所在的文件夹。

2. 单击鼠标右键,然后选择“属性”。

这将打开文件的属性窗口。

3. 在属性窗口中,找到“常规”选项卡,并勾选“只读”复选框。

勾选后,“只读”属性将应用于文件。

4. 单击“应用”按钮,然后单击“确定”按钮保存更改。

文件现在具有只读属性,并且其他用户将无法修改文件。

二、使用命令提示符设置只读属性除了通过文件属性设置只读属性外,您还可以使用命令提示符来实现。

这对于批量处理多个文件特别有用。

请按照以下步骤进行操作:1. 打开命令提示符。

可以通过搜索菜单中的“cmd”来找到并打开它。

2. 在命令提示符窗口中,使用“cd”命令导航到包含您希望设置只读属性的文件的文件夹。

例如,如果您的文件位于“C:\Documents”文件夹中,可以输入以下命令更改目录:```cd C:\Documents```3. 输入以下命令来设置只读属性:```attrib +r 文件名```其中,“文件名”是您希望设置只读属性的文件的名称。

例如,如果您要设置名为“example.txt”的文件为只读属性,输入以下命令:```attrib +r example.txt```4. 按下Enter键执行该命令。

命令提示符将显示成功设置文件只读属性的消息。

三、使用批处理文件设置只读属性如果您需要为多个文件设置只读属性,手动一个个进行设置可能会非常繁琐。

为了简化这个过程,您可以创建一个批处理文件来自动设置只读属性。

windows平台c语言获取文件的一些属性 (1)

windows平台c语言获取文件的一些属性 (1)

Windows平台有一个WIN32_FIND_DATA结构,用来存储文件的一些属性(这里指的属性和下面结构中文件属性成员不同。

这里的属性是指下面结构的所有成员)。

该结构的定义如下。

typedef struct _WIN32_FIND_DATA {DWORD dwFileAttributes; //文件属性FILETIME ftCreationTime; // 文件创建时间FILETIME ftLastAccessTime; // 文件最后一次访问时间FILETIME ftLastWriteTime; // 文件最后一次修改时间DWORD nFileSizeHigh; // 文件长度高32位DWORD nFileSizeLow; // 文件长度低32位DWORD dwReserved0; // 系统保留DWORD dwReserved1; // 系统保留TCHAR cFileName[ MAX_PATH ]; // 长文件名TCHAR cAlternateFileName[ 14 ]; // 8.3格式文件名} WIN32_FIND_DATA, *PWIN32_FIND_DATA;可以使用FindFirstFile() 和FindNextFile() 函数可以得到文件(包括文件夹)的WIN32_FIND_DATA结构信息。

FindFirstFile的原型如下:FindFirstFile()函数中,第一个参数是一个字符串。

可以是一个路径名或者文件名,并且支持通配符* 和?。

比如想查找D盘下的所有文件,可以写成D:\\*.* 或者D:\\*。

如果只想查找D盘下的txt文件,那么可以写成D:\\*.txt。

第二个参数是指向WIN32_FIND_DATA结构体的一个指针。

正如函数的名字FindFirstFile那样, 该函数会查找第一个符合查找条件的文件(使用通配符可以有多少文件满足查找条件)。

然后把这个文件的一些信息写入这个结构里面。

JSP 获取文件的属性

JSP  获取文件的属性
out.println("文件属性测试<br/>");
out.println("-------------------------------<br/>");
out.println("文件名字:"+file.getName()+"<br/>");
out.println("是否可读:"+file.canRead()+"<br/>");
返回File对象所表示的路径名。
public String getAbsolutePath()
返回File对象所表示绝对路径名。
public String getParent()
返回File对象所表示父路径名。
测试File对象的属性方法如表7-2所示:
表7-2 File对象的属性
名称
解释
public boolean exists()
<%@ page import="java.io.File"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <head><title>获取文件的属性</title></head>
<body>
<%
File file=new File("d://FileJsp.txt");
测试File对象是否存在。
public boolean canWrite()

@PropertySource无法读取配置文件的属性值解决方案

@PropertySource无法读取配置文件的属性值解决方案

@PropertySource⽆法读取配置⽂件的属性值解决⽅案原来Person类这样写:只写了@PropertySource注解@Component@PropertySource(value = {"classpath:person.properties"})public class Person {private String lastName;private int age;private boolean boss;private Date birth;private Map<String,Object> maps;private List<Object> lists;private Dog dog;...}运⾏后找不到配置⽂件中的值:解决⽅法:加上@ConfigurationProperties注解:@Component@ConfigurationProperties(prefix = "person")@PropertySource(value = {"classpath:person.properties"})public class Person {运⾏,获取到配置⽂件中的值:为啥呢??因为 @ConfigurationProperties(prefix = “person”)表⽰该类的属性值为配置中的属性值,找前缀为person的属性。

⾸先从全局配置⽂件中找是否有person对应的属性值,如果有那么就输出全局配置中的属性值;如果没有,@PropertySource意思是属性来源,从@PropertySource指定的路径中找到对应的配置⽂件,进⾏赋值。

@Value和@PropertySource读配置⽂件采坑留念⼀、⽹上查到的⽅式:直接 @PropertySource加载⽂件@Value读取属性,Environment.getProperty()获取属性。

[转]文件file属性详解

[转]文件file属性详解

[转]⽂件file属性详解不能直接访问⽤户计算机中的⽂件,⼀直都是Web应⽤开发中的⼀⼤障碍。

2000年以前,处理⽂件的唯⼀⽅式就是在表单中加⼊<input type="file">字段,仅此⽽已。

FileAPI(⽂件API)的宗旨是为Web开发⼈员提供⼀种安全的⽅式,以便在客户端访问⽤户计算机中的⽂件,并更好地对这些⽂件执⾏操作。

本⽂将详细介绍⽂件File API [注意]IE9-浏览器不⽀持File File API在表单中的⽂件输⼊字段的基础上,⼜添加了⼀些直接访问⽂件信息的接⼝。

HTML5在DOM中为⽂件输⼊元素添加了⼀个files集合。

在通过⽂件输⼊字段选择了⼀或多个⽂件时,files集合中将包含⼀组File对象,每个File对象对应着⼀个⽂件。

每个File对象都有下列只读属性 name:本地⽂件系统中的⽂件名 size:⽂件的字节⼤⼩ type:字符串,⽂件的MIME类型 lastModifiedDate:字符串,⽂件上⼀次被修改的时间 通过侦听change事件并读取files集合就可以知道选择的每个⽂件的信息<input type="file" id="file1"><div id="result"></div><script>file1.onchange = function(){var data = file1.files[0];result.innerHTML = '类型:' + data.type + '<br>⼤⼩:' + data.size + '(字节)<br>名称:' + + '<br>修改时间:' + stModifiedDate;}</script>【隐藏⽂件input】 现代浏览器⽀持隐藏掉默认的的⽂件输⼊框<input>元素,使⽤⾃定义的界⾯来充当打开⽂件选择对话框的按钮。

Windows批处理中获取文件属性的一些方法

Windows批处理中获取文件属性的一些方法

windows的batchfile可以有%0-%9参数,其中%0默认表示batchfile的全路径,%1-%9 为用户的传入参数。

以下特殊标记可以用来获得文件的属性,如果对%0使用特殊标记,表示获得batachfile 的相关属性,如果%1-%9中某个%*是个文件的路径,也可以使用如下特姝标记来获得%* 表示文件的相关属性。

例如:D:\testfolder\test.bat代码如下:echo offecho path name:echo %1echo fully qualified path name:echo %-flecho dirive:echo %~d 1echo path:echo %-plecho name:echo %-n 1echo extention:echo %-x 1echo short name:echo %-slecho attribute:echo %-alecho time:echo %-tlecho size:echo %-zlecho directory:echo %-dpl调用时为D:\testfolder\test.bat ”c:\tcsl\ncw folder\inytable.txt0,输出如下:代码如下:D:\&gt;echo offpath name:M c:\test\new folder\mytable.txt Mfully qualified path name:c:\test\New Foldcr\mytable.txtdirive:c:path:\test\New Folder\name:mytableextention:.txtshort name:c:\test\NEWFOL-l\mytable.txt attribute:time:2010-09-27 15:01size:directory:c:\test\New FoldcrX更多信息请查看IT技术专栏。

文件访问接口设计

文件访问接口设计

文件访问接口设计文件访问接口是指程序通过编程语言调用接口来访问文件系统中的文件。

设计一个文件访问接口需要考虑到以下几个方面:文件的打开与关闭、读写文件、文件位置的定位、文件属性的获取与修改等。

下面将根据这些方面来设计一个文件访问接口。

一、文件的打开与关闭1.打开文件:设计一个函数,接受要打开的文件路径作为参数,并返回一个文件句柄,用于后续的文件读写操作。

函数应该判断文件是否存在并且有读写权限,如果文件不存在或没有权限,则返回错误码。

2.关闭文件:设计一个函数,接受一个文件句柄作为参数,用于关闭文件。

需要确保在文件关闭前,已经完成所有的文件读写操作。

二、读写文件1.读取文件:设计一个函数,接受文件句柄、读取的起始位置和读取的长度作为参数,并返回读取的数据。

函数应该判断读取的位置和长度是否合法,如果不合法,则返回错误码。

2.写入文件:设计一个函数,接受文件句柄、写入的起始位置、写入的数据和写入的长度作为参数。

函数应该判断写入的位置和长度是否合法,如果不合法,则返回错误码。

三、文件位置的定位1.定位文件位置:设计一个函数,接受文件句柄和定位的偏移量作为参数,并返回定位后的文件指针位置。

函数应该根据定位的偏移量来移动文件指针,并返回最终的文件指针位置。

2.获取当前文件位置:设计一个函数,接受文件句柄作为参数,并返回当前文件指针的位置。

四、文件属性的获取与修改1.获取文件属性:设计一个函数,接受文件句柄作为参数,并返回文件的属性信息,如文件大小、创建时间、修改时间等。

2.修改文件属性:设计一个函数,接受文件句柄和要修改的属性信息作为参数,并修改文件的对应属性。

以上是一个基本的文件访问接口的设计,可以根据实际需求进行扩展。

在实现这些接口时,需要考虑多线程的并发访问、异常处理、资源释放等问题。

此外,还可以考虑设计一些高层次的接口,如文件复制、文件移动、文件删除等,以提供更方便的文件操作方式。

如何在Windows系统中查看文件的属性

如何在Windows系统中查看文件的属性

如何在Windows系统中查看文件的属性在Windows系统中,文件的属性是指文件的详细信息,包括文件类型、大小、创建日期和修改日期等。

查看文件属性可以帮助我们更好地管理和了解文件的信息。

下面将介绍在Windows系统中查看文件属性的几种方法。

方法一:使用鼠标右键菜单1. 找到要查看属性的文件,例如一个文档或者一个图片文件。

2. 鼠标右键单击该文件,弹出右键菜单。

3. 在右键菜单中选择“属性”选项,点击它。

4. 弹出的属性窗口会显示文件的详细信息,包括文件类型、大小、创建日期和修改日期等。

方法二:使用键盘快捷键1. 找到要查看属性的文件,选中它。

2. 按下键盘上的“Alt”键和“Enter”键,即Alt+Enter组合键。

3. 弹出的属性窗口将显示文件的详细信息。

方法三:使用文件资源管理器1. 打开文件资源管理器,可以通过在任务栏的搜索框中输入“资源管理器”并点击打开。

2. 导航到要查看属性的文件所在的文件夹。

3. 找到目标文件,选中它。

4. 在文件资源管理器的顶部菜单栏中,点击“查看”选项卡。

5. 在查看选项卡中,找到“细节”组中的“属性”选项,点击它。

6. 弹出的属性窗口将显示文件的详细信息。

方法四:使用命令提示符1. 打开命令提示符,可以通过在任务栏的搜索框中输入“cmd”并点击打开。

2. 切换到目标文件所在的文件夹,使用“cd”命令进行切换。

3. 输入命令“dir /p”(不包含引号),回车执行。

4. 系统将列出该文件夹下的文件列表,其中包含文件的详细信息。

总结:以上就是在Windows系统中查看文件属性的几种方法。

无论是使用鼠标右键菜单、键盘快捷键、文件资源管理器还是命令提示符,都可以快速方便地查看文件的属性信息。

根据个人的习惯和使用习惯,选择适合自己的方法来查看文件属性吧。

这些方法适用于Windows系统的各个版本,如Windows 7、Windows 8和Windows 10等。

掌握查看文件属性的方法,将有助于更好地管理和了解文件。

巧解批量文件的只读属性-

巧解批量文件的只读属性-

许多人在利用光盘刻录机来备份文件,此时刻录文件会将属性设成只读,但是,如果将文件拷回硬盘,因为有些文件还有修改的需求,一个一个地修改属性可会使人发疯(在Windows 中可点选目录下的全部文件,再选“属性”,将只读勾掉即可,但如果目录较多时,也十分麻烦,为了要解除大家的麻烦,我向大家介绍如何利用DOS批处理及Excel配合,来一次全部解除只读属性!步骤如下:1、将文件从光盘中复制到硬盘内;2、打开一个MS-DOS窗口;3、进入存放这些文件的磁盘路径之下,输入指令Attrib /s >att.bat,即使用Attrib 这个可列表及更改属性的执行文件,将此目录下的所有文件的文件名及属性显示出来,并储存在一个名叫Att.bat的文件中(文件名可依个人喜好命名,但扩展名一定要是bat;4、进入Excel,打开Att.bat文件,即可看到该目录下所有文件的名称、路径及属性,第1列为文档属性,第2列为只读属性,第3列为文件名,第4列为文件的具体路径;5、在A栏(即第1列插入一个栏位,输入Attrib,并复制到所有记录的第一个栏位;6、将文档属性的内容(含有A的那一列和文件名的那一列删除;7、选择“只读属性栏(含有R的那一列”,再进入“编辑”中的“替换”,寻找目标设定为R,替换设定为-R(即减R,将只读删除,再点选全部替换;举个例子:原来的A R soft1.exe d:\111\soft1.exe 改为Attrib -R d:\111\soft1.exe8、保存文件为纯文本格式,以空白或Tab间隔皆可;9、用资源管理器或MS-DOS模式,执行Att.bat,即可将所有只读属性删除!注:若有些文件不想更改属性,您只要在Excel中,把那些文件的记录删除即可! 因为是系统文件,所以只有去掉“系统”属性才可以去掉隐藏的属性!在运行里输入:cmd弹出命令提示符输入命令:attrib文件的完整路径-s -r -h比如你想改C:\WINDOWS\winnt.bmp的隐藏属性,就输入:attrib C:\WINDOWS\winnt.bmp -s -r -h回车就好了!别忘记加空格!还有扩展名这样,文件的属性就该为不隐藏了。

文件的属性及基本操作

文件的属性及基本操作

⽂件的属性及基本操作⽂件的属性⽂件有⼀定的属性,这根据系统的不同⽽有所不同,但是通常都包括如下属性:①名称:⽂件名称唯⼀,以容易读取的形式保存。

②标识符:标识⽂件系统内⽂件的唯⼀标签,通常为数字,它是对⼈不可读的⼀种内部名称。

③类型:被⽀持不同类型的⽂件系统所使⽤。

④位置:指向设备和设备上⽂件的指针。

⑤⼤⼩:⽂件当前⼤⼩(⽤字节、字或块表⽰),也可包含⽂件允许的最⼤值。

⑥保护:对⽂件进⾏保护的访问控制信息。

⑦时间、⽇期和⽤户标识:⽂件创建、上次修改和上次访问的相关信息,⽤于保护、安全和跟踪⽂件的使⽤。

所有⽂件的信息都保存在⽬录结构中,⽽⽬录结构也保存在外存上。

⽂件信息当需要时再调⼊内存。

通常,⽬录条⽬包括⽂件名称及其唯⼀标识符,⽽标识符定位其他属性的信息。

⽂件的基本操作⽂件的基本操作有:创建、写、读、定位、删除和截断:①创建⽂件:创建⽂件有两个必要步骤,⼀是在⽂件系统中为⽂件找到空间;⼆是在⽬录中为新⽂件创建条⽬,该条⽬记录⽂件名称、在⽂件系统中的位置及其他可能信息。

②写⽂件:为了写⽂件,执⾏⼀个系统调⽤,指明⽂件名称和要写⼊⽂件的内容。

对于给定⽂件名称,系统搜索⽬录以查找⽂件位置。

系统必须为该⽂件维护⼀个写位置的指针。

每当发⽣写操作,便更新写指针。

③读⽂件:为了读⽂件,执⾏⼀个系统调⽤,指明⽂件名称和要读⼊⽂件块的内存位置。

同样,需要搜索⽬录以找到相关⽬录项,系统维护⼀个读位置的指针。

每当发⽣读操作时,更新读指针。

⼀个进程通常只对⼀个⽂件读或写,所以当前操作位置可作为每个进程当前⽂件位置指针。

由于读和写操作都使⽤同⼀指针,节省了空间也降低了系统复杂度。

④⽂件重定位(⽂件寻址):按某条件搜索⽬录,将当前⽂件位置设为给定值,并且不会读、写⽂件。

⑤删除⽂件:先从⽬录中找到要删除⽂件的⽬录项,使之成为空项,然后回收该⽂件所占⽤的存储空间。

⑥截断⽂件:允许⽂件所有属性不变,并删除⽂件内容,即将其长度设为0并释放其空间。

java读取项目或包下面的属性文件方法

java读取项目或包下面的属性文件方法

java读取项⽬或包下⾯的属性⽂件⽅法1.使⽤java.util.Properties类的load()⽅法1//⽂件在项⽬下。

不是在包下!!23 InputStream in = new BufferedInputStream(newFileInputStream("demo.properties")) ;45 Properties p = new Properties();67 p.load(in) ;89 String className2 =p.getProperty("database.driver");1011 String url = p.getProperty("database.url");1213 String user =p.getProperty("er");1415 String password =p.getProperty("database.pass");2. 使⽤java.util.Resourcebundle类的getbundle()⽅法//前⾯没有“/”代表当前类的⽬录⽰例://⽂件和类在同⼀个包下,注意它的⽂件名和后缀!!是调换的,ResourceBundle resource =ResourceBundle.getBundle("properties.jdbc");String className =resource.getString("database.driver");String url =resource.getString("database.url");String user =resource.getString("er");String password =resource.getString("database.pass");3.使⽤java.util.PropertyResourceBundle类的构造函数// ⽂件在项⽬下或者 src/demo.properties// 在 src/demo.properties 写成 new FileInputStream("src/demo.properties")InputStream in = new BufferedInputStream(new FileInputStream("demo.properties"));ResourceBundle rb = new PropertyResourceBundle(in) ;String className4 =rb.getString("database.url");4.使⽤class变量的getresourceasstream()⽅法⽰例:InputStream in=Properties.class.getResourceAsStream("/properties/jdbc.properties");// 包点类名下的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要:本文讲述了在Visual C++下编程实现对磁盘文件的属性进行获取以及更改的一般方法,并给出部分相关的关键代码。

一、引言
文件是数据在磁盘上最常用的一种存放形式,也是在程序设计中与之经常打交道的一种编程对象,不少程序尤其是数据传输和处理类的应用程序更是需要频繁的创建、读取和写入文件。

对于一些要求不是很严格的程序,我们往往只关心文件的内容是否正确、文件大小是否有增减或是再严格一些,看文件名是否符合规定等等。

以上这些要素对于大多数程序而言显然是可以满足实际需求的,但对于某些特殊行业的一些有着比较严格要求的软件系统,仅有以上要素还是远远不够的,往往还需要对文件的所有属性诸如文件的创建时间、文件的最后访问时间、文件的最后修改时间等等进行提取处理与重新设置。

二、WIN32_FIND_DATA结构
关于文件的全部属性信息,总计有以下以下9种:文件的标题名、文件的属性(只读、存档,隐藏等)、文件的创建时间、文件的最后访问时间、文件的最后修改时间、文件大小的高位双字、文件大小的低位双字、保留、保留。

在这里只有文件标题名和文件的长度可以通过CFile类比较方便的获得,而对于其他几种属性的获取和设置就无能为力了。

在用findfirst()和findnext()函数去查找磁盘文件时经常使用的一个数据结构
WIN32_FIND_DATA的成员变量里包含了以上所有的文件属性,因此可以通过这个结构作为获取和更改文件属性的手段。

该结构的内容如下:
typedef struct_WIN32_FIND_DATA{
DWORD dwFileAttributes;//文件属性
FILETIME ftCreationTime;//文件创建时间
FILETIME ftLastAccessTime;//文件最后一次访问时间
FILETIME ftLastWriteTime;//文件最后一次修改时间
DWORD nFileSizeHigh;//文件长度高32位
DWORD nFileSizeLow;//文件长度低32位
DWORD dwReserved0;//系统保留
DWORD dwReserved1;//系统保留
TCHAR cFileName[MAX_PATH];//长文件名
TCHAR cAlternateFileName[14];//8.3格式文件名
}WIN32_FIND_DATA,*PWIN32_FIND_DATA;
可以通过FindFirstFile()函数根据当前的文件存放路径查找该文件来把待操作文件的相关属性读取到WIN32_FIND_DATA结构中去:
WIN32_FIND_DATA ffd;
HANDLE hFind=FindFirstFile("c:\\test.dat",&ffd);
在使用这个结构时不能手工修改这个结构中的任何数据,结构对于开发人员来说只能作
为一个只读数据,其所有的成员变量都会由系统完成填写。

在MSDN帮助中可以查找到关于WIN32_FIND_DATA结构的更加详细的说明。

三、文件属性信息的获取与更改
为了更好的保存获取到的文件属性信息,对应于文件属性构造一个自定义的FILE_INFO 数据结构,获取的属性信息可暂存于此:
typedef struct_FILE_INFO{
TCHAR szFileTitle[128];//文件的标题名
DWORD dwFileAttributes;//文件的属性
FILETIME ftCreationTime;//文件的创建时间
FILETIME ftLastAccessTime;//文件的最后访问时间
FILETIME ftLastWriteTime;//文件的最后修改时间
DWORD nFileSizeHigh;//文件大小的高位双字
DWORD nFileSizeLow;//文件大小的低位双字
DWORD dwReserved0;//保留,为0
DWORD dwReserved1;//保留,为0
}FILE_INFO,*PFILE_INFO;
首先用FindFirstFile()函数将文件属性获取到WIN32_FIND_DATA结构对象FindFileData中去,之后可以用FindClose()将其关闭,并把FindFileData中的有关文件属性信息的内容复制到自定义结构FILE_INFO的结构对象FileInfo中备用。

下面是关于这部分描述的部分关键代码:
//声明结构对象
FILE_INFO FileInfo;
WIN32_FIND_DATA FindFileData;
……
//获取文件属性信息
FindClose(FindFirstFile("Test.txt",&FindFileData));
memset(&FileInfo,0,sizeof(FILE_INFO));
……
//将文件属性信息保存到FileInfo中备用
strcpy(FileInfo.szFileTitle,myFile.GetFileTitle());
FileInfo.dwFileAttributes=FindFileData.dwFileAttributes;
FileInfo.ftCreationTime=FindFileData.ftCreationTime;
FileInfo.ftLastAccessTime=FindFileData.ftLastAccessTime;
FileInfo.ftLastWriteTime=FindFileData.ftLastWriteTime;
FileInfo.nFileSizeHigh=FindFileData.nFileSizeHigh;
FileInfo.nFileSizeLow=FindFileData.nFileSizeLow;
……
在获取到文件的原始属性信息后既可以原封不动的将属性重新写到文件,也可以对其中
某一项或某几项属性内容进行修改后再行写入文件,从而达到更改文件属性的目的。

比如可以用SetFileTime()函数设置文件的创建时间、最近一次访问时间以及最近一次修改的时间等等:
SetFileTime((HANDLE)destFile.m_hFile,//待写入的文件句柄
&FileInfo.ftCreationTime,//文件的创建时间
&FileInfo.ftLastAccessTime,//文件最近一次的访问时间
&FileInfo.ftLastWriteTime);//文件最近一次的修改时间
也可以用SetFileAttributes()函数实现对文件属性的修改:
SetFileAttributes(FileInfo.szFileTitle,FileInfo.dwFileAttributes);
至于文件名的修改则更加简单,直接在创建文件时在CreateFile()或CFile类的成员函数Open里直接对文件名参数进行设置即可。

小结:本文通过对WIN32_FIND_DATA结构和SetFileTime()、SetFileAttributes()等主要函数实现了对磁盘文件的相关属性信息的获取与修改。

用此技术可以在通讯等对文件有严格要求的应用领域实现文件全部信息(包括文件内容、文件名以及文件属性等)的完整传送。

本文所述程序在Windows98下由Microsoft Visual C++6.0编译调试通过。

相关文档
最新文档