当前位置:文档之家› 文件File操作

文件File操作

文件File操作
文件File操作

11.3 I/O类使用

由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择。因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力。本章IO类的使用就从读写文件开始。

11.3.1 文件操作

文件(File)是最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件、声音文件等数据文件,也经常需要根据需要从指定的文件中进行数据的读取。当然,在实际使用时,文件都包含一个的格式,这个格式需要程序员根据需要进行设计,读取已有的文件时也需要熟悉对应的文件格式,才能把数据从文件中正确的读取出来。

文件的存储介质有很多,例如硬盘、光盘和U盘等,由于IO类设计时,从数据源转换为流对象的操作由API实现了,所以存储介质的不同对于程序员来说是透明的,和实际编写代码无关。

11.3.1.1 文件的概念

文件是计算机中一种基本的数据存储形式,在实际存储数据时,如果对于数据的读写速度要求不是很高,存储的数据量不是很大时,使用文件作为一种持久数据存储的方式是比较好的选择。

存储在文件内部的数据和内存中的数据不同,存储在文件中的数据是一种“持久存储”,也就是当程序退出或计算机关机以后,数据还是存在的,而内存内部的数据在程序退出或计算机关机以后,数据就丢失了。

在不同的存储介质中,文件中的数据都是以一定的顺序依次存储起来,在实际读取时由硬件以及操作系统完成对于数据的控制,保证程序读取到的数据和存储的顺序保持一致。

每个文件以一个文件路径和文件名称进行表示,在需要访问该文件的时,只需要知道该文件的路径以及文件的全名即可。在不同的操作系统环境下,文件路径的表示形式是不一样的,例如在Windows操作系统中一般的表示形式为

C:\windows\system,而Unix上的表示形式为/user/my。所以如果需要让Java程序能够在不同的操作系统下运行,书写文件路径时还需要比较注意。

11.3.1.1.1 绝对路径和相对路径

绝对路径是指书写文件的完整路径,例如d:\java\Hello.java,该路径中包含文件的完整路径d:\java以及文件的全名Hello.java。使用该路径可以唯一的找到一个文件,不会产生歧义。但是使用绝对路径在表示文件时,受到的限制很大,且不能在不同的操作系统下运行,因为不同操作系统下绝对路径的表达形式存在不同。

相对路径是指书写文件的部分路径,例如\test\Hello.java,该路径中只包含文件的部分路径\test和文件的全名Hello.java,部分路径是指当前路径下的子路径,例如当前程序在d:\abc下运行,则该文件的完整路径就是d:\abc\test。使用这种形式,可以更加通用的代表文件的位置,使得文件路径产生一定的灵活性。

在Eclipse项目中运行程序时,当前路径是项目的根目录,例如工作空间存储在d:\javaproject,当前项目名称是Test,则当前路径是:d:\javaproject\Test。在控制台下面运行程序时,当前路径是class文件所在的目录,如果class文件包含包名,则以该class文件最顶层的包名作为当前路径。

另外在Java语言的代码内部书写文件路径时,需要注意大小写,大小写需要保持一致,路径中的文件夹名称区分大小写。由于’\’是Java语言中的特殊字符,所以在代码内部书写文件路径时,例如代表“c:\test\java\Hello.java”时,需要书写成“c:\\test\\java\\Hello.java”或“c:/test/java/Hello.java”,这些都需要在代码中注意。

11.3.1.1.2 文件名称

文件名称一般采用“文件名.后缀名”的形式进行命名,其中“文件名”用来表示文件的作用,而使用后缀名来表示文件的类型,这是当前操作系统中常见的一种形式,例如“readme.txt”文件,其中readme代表该文件时说明文件,而txt后缀名代表文件时文本文件类型,在操作系统中,还会自动将特定格式的后缀名和对应的程序关联,在双击该文件时使用特定的程序打开。

其实在文件名称只是一个标示,和实际存储的文件内容没有必然的联系,只是使用这种方式方便文件的使用。在程序中需要存储数据时,如果自己设计了特定的文件格式,则可以自定义文件的后缀名,来标示自己的文件类型。

和文件路径一样,在Java代码内部书写文件名称时也区分大小写,文件名称的大小写必须和操作系统中的大小写保持一致。

另外,在书写文件名称时不要忘记书写文件的后缀名。

11.3.1.2 File类

为了很方便的代表文件的概念,以及存储一些对于文件的基本操作,在java.io包中设计了一个专门的类——File类。

在File类中包含了大部分和文件操作的功能方法,该类的对象可以代表一个具体的文件或文件夹,所以以前曾有人建议将该类的类名修改成FilePath,因为该类也可以代表一个文件夹,更准确的说是可以代表一个文件路径。

下面介绍一下File类的基本使用。

1、File对象代表文件路径

File类的对象可以代表一个具体的文件路径,在实际代表时,可以使用绝对路径也可以使用相对路径。

下面是创建的文件对象示例。

public File(String pathname)

该示例中使用一个文件路径表示一个File类的对象,例如:

File f1 = new File(“d:\\test\\1.txt”);

File f2 = new File(“1.txt”);

File f3 = new File(“e:\\abc”);

这里的f1和f2对象分别代表一个文件,f1是绝对路径,而f2是相对路径,f3则代表一个文件夹,文件夹也是文件路径的一种。

public File(String parent, String child)

也可以使用父路径和子路径结合,实现代表文件路径,例如:

File f4 = new File(“d:\\test\\”,”1.txt”);

这样代表的文件路径是:d:\test\1.txt。

2、File类常用方法

File类中包含了很多获得文件或文件夹属性的方法,使用起来比较方便,下面将常见的方法介绍如下:

a、createNewFile方法

public boolean createNewFile() throws IOException

该方法的作用是创建指定的文件。该方法只能用于创建文件,不能用于创建文件夹,且文件路径中包含的文件夹必须存在。

b、delect方法

public boolean delete()

该方法的作用是删除当前文件或文件夹。如果删除的是文件夹,则该文件夹必须为空。如果需要删除一个非空的文件夹,则需要首先删除

该文件夹内部的每个文件和文件夹,然后在可以删除,这个需要书写一

定的逻辑代码实现。

c、exists方法

public boolean exists()

该方法的作用是判断当前文件或文件夹是否存在。

d、getAbsolutePath方法

public String getAbsolutePath()

该方法的作用是获得当前文件或文件夹的绝对路径。例如c:\test\1.t 则返回c:\test\1.t。

e、getName方法

public String getName()

该方法的作用是获得当前文件或文件夹的名称。例如c:\test\1.t,则返回1.t。

f、getParent方法

public String getParent()

该方法的作用是获得当前路径中的父路径。例如c:\test\1.t则返回c:\test。

g、isDirectory方法

public boolean isDirectory()

该方法的作用是判断当前File对象是否是目录。

h、isFile方法

public boolean isFile()

该方法的作用是判断当前File对象是否是文件。

i、length方法

public long length()

该方法的作用是返回文件存储时占用的字节数。该数值获得的是文件的实际大小,而不是文件在存储时占用的空间数。

j、list方法

public String[] list()

该方法的作用是返回当前文件夹下所有的文件名和文件夹名称。说明,该名称不是绝对路径。

k、listFiles方法

public File[] listFiles()

该方法的作用是返回当前文件夹下所有的文件对象。

l、mkdir方法

public boolean mkdir()

该方法的作用是创建当前文件文件夹,而不创建该路径中的其它文件夹。假设d盘下只有一个test文件夹,则创建d:\test\abc文件夹则成功,如果创建d:\a\b文件夹则创建失败,因为该路径中d:\a文件夹不存在。如果创建成功则返回true,否则返回false。

m、mkdirs方法

public boolean mkdirs()

该方法的作用是创建文件夹,如果当前路径中包含的父目录不存在时,也会自动根据需要创建。

n、renameTo方法

public boolean renameTo(File dest)

该方法的作用是修改文件名。在修改文件名时不能改变文件路径,如果该路径下已有该文件,则会修改失败。

o、setReadOnly方法

public boolean setReadOnly()

该方法的作用是设置当前文件或文件夹为只读。

3、File类基本示例

以上各方法实现的测试代码如下:

import java.io.File;

/**

* File类使用示例

*/

public class FileDemo {

public static void main(String[] args) {

//创建File对象

File f1 = new File("d:\\test");

File f2 = new File("1.txt");

File f3 = new File("e:\\file.txt");

File f4 = new File("d:\\","1.txt");

//创建文件

try{

boolean b = f3.createNewFile();

}catch(Exception e){

e.printStackTrace();

}

//判断文件是否存在

System.out.println(f4.exists());

//获得文件的绝对路径

System.out.println(f3.getAbsolutePath());

//获得文件名

System.out.println(f3.getName());

//获得父路径

System.out.println(f3.getParent());

//判断是否是目录

System.out.println(f1.isDirectory());

//判断是否是文件

System.out.println(f3.isFile());

//获得文件长度

System.out.println(f3.length());

//获得当前文件夹下所有文件和文件夹名称

String[] s = f1.list();

for(int i = 0;i < s.length;i++){

System.out.println(s[i]);

}

//获得文件对象

File[] f5 = f1.listFiles();

for(int i = 0;i < f5.length;i++){

System.out.println(f5[i]);

}

//创建文件夹

File f6 = new File("e:\\test\\abc");

boolean b1 = f6.mkdir();

System.out.println(b1);

b1 = f6.mkdirs();

System.out.println(b1);

//修改文件名

File f7 = new File("e:\\a.txt");

boolean b2 = f3.renameTo(f7);

System.out.println(b2);

//设置文件为只读

f7.setReadOnly();

}

}

4、File类综合示例

下面以两个示例演示File类的综合使用。第一个示例是显示某个文件夹下的所有文件和文件夹,原理是输出当前名称,然后判断当前File对象是文件还是文件夹,如果则获得该文件夹下的所有子文件和子文件夹,并递归调用该方法实现。第二个示例是删除某个文件夹下的所有文件和文件夹,原理是判断是否是文件,如果是文件则直接删除,如果是文件夹,则获得该文件夹下所有的子文件和子文件夹,然后递归调用该方法处理所有子文件和子文件夹,然后将空文件夹删除。则测试时谨慎使用第二个方法,以免删除自己有用的数据文件。示例代码如下:

import java.io.File;

/**

* 文件综合使用示例

*/

public class AdvanceFileDemo {

public static void main(String[] args) {

File f = new File("e:\\Book");

printAllFile(f);

File f1 = new File("e:\\test");

deleteAll(f1);

}

/**

* 打印f路径下所有的文件和文件夹

* @param f 文件对象

*/

public static void printAllFile(File f){

//打印当前文件名

System.out.println(f.getName());

//是否是文件夹

if(f.isDirectory()){

//获得该文件夹下所有子文件和子文件夹

File[] f1 = f.listFiles();

//循环处理每个对象

int len = f1.length;

for(int i = 0;i < len;i++){

//递归调用,处理每个文件对象

printAllFile(f1[i]);

}

}

}

/**

* 删除对象f下的所有文件和文件夹

* @param f 文件路径

*/

public static void deleteAll(File f){

//文件

if(f.isFile()){

f.delete();

}else{ //文件夹

//获得当前文件夹下的所有子文件和子文件夹

File f1[] = f.listFiles();

//循环处理每个对象

int len = f1.length;

for(int i = 0;i < len;i++){

//递归调用,处理每个文件对象

deleteAll(f1[i]);

}

//删除当前文件夹

f.delete();

}

}

}

关于File类的使用就介绍这么多,其它的方法和使用时需要注意的问题还需要多进行练习和实际使用。

11.3.1.3 读取文件

虽然前面介绍了流的概念,但是这个概念对于初学者来说,还是比较抽象的,下面以实际的读取文件为例子,介绍流的概念,以及输入流的基本使用。

按照前面介绍的知识,将文件中的数据读入程序,是将程序外部的数据传入程序中,应该使用输入流——InputStream或Reader。而由于读取的是特定的数据源——文件,则可以使用输入对应的子类FileInputStream或FileReader实现。

在实际书写代码时,需要首先熟悉读取文件在程序中实现的过程。在Java 语言的IO编程中,读取文件是分两个步骤:1、将文件中的数据转换为流,2、读取流内部的数据。其中第一个步骤由系统完成,只需要创建对应的流对象即可,对象创建完成以后步骤1就完成了,第二个步骤使用输入流对象中的read方法即可实现了。

使用输入流进行编程时,代码一般分为3个部分:1、创建流对象,2、读取流对象内部的数据,3、关闭流对象。下面以读取文件的代码示例:

import java.io.*;

/**

* 使用FileInputStream读取文件

*/

public class ReadFile1 {

public static void main(String[] args) {

//声明流对象

FileInputStream fis = null;

try{

//创建流对象

fis = new FileInputStream("e:\\a.txt");

//读取数据,并将读取到的数据存储到数组中

byte[] data = new byte[1024]; //数据存储的数组

int i = 0; //当前下标

//读取流中的第一个字节数据

int n = fis.read();

//依次读取后续的数据

while(n != -1){ //未到达流的末尾

//将有效数据存储到数组中

data[i] = (byte)n;

//下标增加

i++;

//读取下一个字节的数据

n = fis.read();

}

//解析数据

String s = new String(data,0,i);

//输出字符串

System.out.println(s);

}catch(Exception e){

e.printStackTrace();

}finally{

try{

//关闭流,释放资源

fis.close();

}catch(Exception e){}

}

}

}

在该示例代码中,首先创建一个FileInputStream类型的对象fis:

fis = new FileInputStream("e:\\a.txt");

这样建立了一个连接到数据源e:\a.txt的流,并将该数据源中的数据转换为流对象fis,以后程序读取数据源中的数据,只需要从流对象fis中读取即可。

读取流fis中的数据,需要使用read方法,该方法是从InputStream类中继承过来的方法,该方法的作用是每次读取流中的一个字节,如果需要读取流中的所有数据,需要使用循环读取,当到达流的末尾时,read方法的返回值是-1。

在该示例中,首先读取流中的第一个字节:

int n = fis.read();

并将读取的值赋值给int值n,如果流fis为空,则n的值是-1,否则n中的最后一个字节包含的时流fis中的第一个字节,该字节被读取以后,将被从流fis 中删除。

然后循环读取流中的其它数据,如果读取到的数据不是-1,则将已经读取到的数据n强制转换为byte,即取n中的有效数据——最后一个字节,并存储到数组data中,然后调用流对象fis中的read方法继续读取流中的下一个字节的数据。一直这样循环下去,直到读取到的数据是-1,也就是读取到流的末尾则循环结束。

这里的数组长度是1024,所以要求流中的数据长度不能超过1024,所以该示例代码在这里具有一定的局限性。如果流的数据个数比较多,则可以将1024扩大到合适的个数即可。

经过上面的循环以后,就可以将流中的数据依次存储到data数组中,存储到data数组中有效数据的个数是i个,即循环次数。

其实截至到这里,IO操作中的读取数据已经完成,然后再按照数据源中的数据格式,这里是文件的格式,解析读取出的byte数组即可。

该示例代码中的解析,只是将从流对象中读取到的有效的数据,也就是data 数组中的前n个数据,转换为字符串,然后进行输出。

在该示例代码中,只是在catch语句中输出异常的信息,便于代码的调试,在实际的程序中,需要根据情况进行一定的逻辑处理,例如给出提示信息等。

最后在finally语句块中,关闭流对象fis,释放流对象占用的资源,关闭数据源,实现流操作的结束工作。

上面详细介绍了读取文件的过程,其实在实际读取流数据时,还可以使用其它的read方法,下面的示例代码是使用另外一个read方法实现读取的代码:

import java.io.FileInputStream;

/**

* 使用FileInputStream读取文件

*/

public class ReadFile2 {

public static void main(String[] args) {

//声明流对象

FileInputStream fis = null;

try{

//创建流对象

fis = new FileInputStream("e:\\a.txt");

//读取数据,并将读取到的数据存储到数组中

byte[] data = new byte[1024]; //数据存储的数组

int i = fis.read(data);

//解析数据

String s = new String(data,0,i);

//输出字符串

System.out.println(s);

}catch(Exception e){

e.printStackTrace();

}finally{

try{

//关闭流,释放资源

fis.close();

}catch(Exception e){}

}

}

}

该示例代码中,只使用一行代码:

int i = fis.read(data);

就实现了将流对象fis中的数据读取到字节数组data中。该行代码的作用是将fis流中的数据读取出来,并依次存储到数组data中,返回值为实际读取的有效数据的个数。

使用该中方式在进行读取时,可以简化读取的代码。

当然,在读取文件时,也可以使用Reader类的子类FileReader进行实现,在编写代码时,只需要将上面示例代码中的byte数组替换成char数组即可。

使用FileReader读取文件时,是按照char为单位进行读取的,所以更适合于文本文件的读取,而对于二进制文件或自定义格式的文件来说,还是使用FileInputStream进行读取,方便对于读取到的数据进行解析和操作。

读取其它数据源的操作和读取文件类似,最大的区别在于建立流对象时选择的类不同,而流对象一旦建立,则基本的读取方法是一样,如果只使用最基本的read方法进行读取,则使用基本上是一致的。这也是IO类设计的初衷,使得对于流对象的操作保持一致,简化IO类使用的难度。

程。

基本的输出流包含OutputStream和Writer两个,区别是OutputStream体系中的类(也就是OutputStream的子类)是按照字节写入的,而Writer体系中的类(也就是Writer的子类)是按照字符写入的。

使用输出流进行编程的步骤是:

1、建立输出流

建立对应的输出流对象,也就是完成由流对象到外部数据源之间的转换。

2、向流中写入数据

将需要输出的数据,调用对应的write方法写入到流对象中。

3、关闭输出流

在写入完毕以后,调用流对象的close方法关闭输出流,释放资源。

在使用输出流向外部输出数据时,程序员只需要将数据写入流对象即可,底层的API实现将流对象中的内容写入外部数据源,这个写入的过程对于程序员来说是透明的,不需要专门书写代码实现。

在向文件中输出数据,也就是写文件时,使用对应的文件输出流,包括FileOutputStream和FileWriter两个类,下面以FileOutputStream为例子说明输出流的使用。示例代码如下:import java.io.*;

/**

* 使用FileOutputStream写文件示例

*/

public class WriteFile1 {

public static void main(String[] args) {

String s = "Java语言";

int n = 100;

//声明流对象

FileOutputStream fos = null;

try{

//创建流对象

fos = new FileOutputStream("e:\\out.txt");

//转换为byte数组

byte[] b1 = s.getBytes();

//换行符

byte[] b2 = "\r\n".getBytes();

byte[] b3 = String.valueOf(n).getBytes();

//依次写入文件

fos.write(b1);

fos.write(b2);

fos.write(b3);

} catch (Exception e) {

e.printStackTrace();

}finally{

try{

fos.close();

}catch(Exception e){}

}

}

}

该示例代码写入的文件使用记事本打开以后,内容为:

Java语言

100

在该示例代码中,演示了将一个字符串和一个int类型的值依次写入到同一个文件中。在写入文件时,首先创建了一个文件输出流对象fos:

fos = new FileOutputStream("e:\\out.txt");

该对象创建以后,就实现了从流到外部数据源e:\out.txt的连接。说明:当外部文件不存在时,系统会自动创建该文件,但是如果文件路径中包含未创建的目录时将出现异常。这里书写的文件路径可以是绝对路径也可以是相对路径。

在实际写入文件时,有两种写入文件的方式:覆盖和追加。其中“覆盖”是指清除原文件的内容,写入新的内容,默认采用该种形式写文件,“追加”是指在已有文件的末尾写入内容,保留原来的文件内容,例如写日志文件时,一般采用追加。在实际使用时可以根据需要采用适合的形式,可以使用:

public FileOutputStream(String name, boolean append) throws FileNotFoundException 只需要使用该构造方法在构造FileOutputStream对象时,将第二个参数append的值设置为true即可。

流对象创建完成以后,就可以使用OutputStream中提供的wirte方法向流中依次写入数据了。最基本的写入方法只支持byte数组格式的数据,所以如果需要将内容写入文件,则需要把对应的内容首先转换为byte数组。

这里以如下格式写入数据:首先写入字符串s,使用String类的getBytes方法将该字符串转换为byte数组,然后写入字符串“\r\n”,转换方式同上,该字符串的作用是实现文本文件的换行显示,最后写入int数据n,首先将n转换为字符串,再转换为byte数组。这种写入数据的顺序以及转换为byte数组的方式就是流的数据格式,也就是该文件的格式。因为这里写的都是文本文件,所以写入的内容以明文的形式显示出来,也可以根据自己需要存储的数据设定特定的文件格式。

其实,所有的数据文件,包括图片文件、声音文件等等,都是以一定的数据格式存储数据的,在保存该文件时,将需要保存的数据按照该文件的数据格式依次写入即可,而在打开该文件时,将读取到的数据按照该文件的格式解析成对应的逻辑即可。

最后,在数据写入到流内部以后,如果需要立即将写入流内部的数据强制输出到外部的数据源,则可以使用流对象的flush方法实现。如果不需要强制输出,则只需要在写入结束以后,关闭流对象即可。在关闭流对象时,系统首先将流中未输出到数据源中的数据强制输出,然后再释放该流对象占用的内存空间。

使用FileWriter写入文件时,步骤和创建流对象的操作都和该示例代码一致,只是在转换数据时,需要将写入的数据转换为char数组,对于字符串来说,可以使用String中的toCharArray 方法实现转换,然后按照文件格式写入数据即可。

对于其它类型的字节输出流/字符输出流来说,只是在逻辑上连接不同的数据源,在创建对象的代码上会存在一定的不同,但是一旦流对象创建完成以后,基本的写入方法都是write方法,也需要首先将需要写入的数据按照一定的格式转换为对应的byte数组/char数组,然后依次写入即可。

所以IO类的这种设计形式,只需要熟悉该体系中的某一个类的使用以后,就可以触类旁通的学会其它相同类型的类的使用,从而简化程序员的学习,使得使用时保持统一。

linux 基本操作命令行

linux的命令操作 1、日常操作命令 **查看当前所在的工作目录 pwd **查看当前系统的时间 date **查看有谁在线(哪些人登陆到了服务器) who 查看当前在线 last 查看最近的登陆历史记录 2、文件系统操作 ** ls / 查看根目录下的子节点(文件夹和文件)信息 ls -al -a是显示隐藏文件 -l是以更详细的列表形式显示 **切换目录 cd /home **创建文件夹 mkdir aaa 这是相对路径的写法 mkdir -p aaa/bbb/ccc mkdir /data 这是绝对路径的写法 **删除文件夹 rmdir 可以删除空目录 rm -r aaa 可以把aaa整个文件夹及其中的所有子节点全部删除 rm -rf aaa 强制删除aaa **修改文件夹名称 mv aaa angelababy **创建文件 touch somefile.1 创建一个空文件 echo "i miss you,my baby" > somefile.2 利用重定向“>”的功能,将一条指令的输出结果写入到一个文件中,会覆盖原文件内容 echo "huangxiaoming ,gun dan" >> somefile.2 将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容 用vi文本编辑器来编辑生成文件 ******最基本用法 vi somefile.4

1、首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容 2、按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容 3、编辑完成之后,按Esc键退出编辑模式,回到一般模式; 4、再按:,进入“底行命令模式”,输入wq命令,回车即可 ******一些常用快捷键 一些有用的快捷键(在一般模式下使用): a 在光标后一位开始插入 A 在该行的最后插入 I 在该行的最前面插入 gg 直接跳到文件的首行 G 直接跳到文件的末行 dd 删除行,如果 5dd ,则一次性删除光标后的5行 yy 复制当前行, 复制多行,则 3yy,则复制当前行附近的3行 p 粘贴 v 进入字符选择模式,选择完成后,按y复制,按p粘贴 ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴 shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴 查找并替换(在底行命令模式中输入) %s/sad/88888888888888 效果:查找文件中所有sad,替换为88888888888888 /you 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个) 3、文件权限的操作 ****linux文件权限的描述格式解读 drwxr-xr-x (也可以用二进制表示 111 101 101 --> 755) d:标识节点类型(d:文件夹 -:文件 l:链接) r:可读 w:可写 x:可执行 第一组rwx:表示这个文件的拥有者对它的权限:可读可写可执行 第二组r-x:表示这个文件的所属组对它的权限:可读,不可写,可执行 第三组r-x:表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行 ****修改文件权限 chmod g-rw haha.dat 表示将haha.dat对所属组的rw权限取消 chmod o-rw haha.dat 表示将haha.dat对其他人的rw权限取消 chmod u+x haha.dat 表示将haha.dat对所属用户的权限增加x 也可以用数字的方式来修改权限 chmod 664 haha.dat 就会修改成 rw-rw-r--

《文件操作》说课设计 .doc

《文件操作》说课设计 今天我说课的题目是《文件操作》,我准备从教学背景、教学目标、设计思路、教学过程这四个方面来阐述。 一、教学背景 1、教材分析 《文件操作》是江苏省小学信息技术教材第21课的内容。本课文是建立在掌握查找文件基础上的,对“画图”过程中保存的文件进行整理,删除多余、无用的文件,对好的作品进行备份,整理磁盘等操作,同时在操作中学会多选、复制、移动和删除文件,是一节实践性很强的课。这些文件操作技能是学生使用电脑所应具备的基本能力,因此,本课在学生学习信息技术的过程中起着极其重要的作用。 2、教学对象分析 在学习此课之前,学生已经认识了文件夹、文件的类型,会对文件进行一些简单操作如单选文件、查找文件等,在画图中也熟练地掌握了菜单命令的使用,这些都为学习这节课奠定了基础。有个别学生对电脑的操作比较熟练,在课上总能较快地掌握所学的知识,将这些学生分散到各个小组,为小组互助提供了可能。 3、教学环境分析 学生机中预先复制本课所需的文件和文件夹,教师机发布“文件操作自助学习软件”,软件中提供了一些文件操作的动态演示画面,不是每个学生都需要,仅给部分学生提供参考和帮助。 二、教学目标 基于以上分析和新课标的要求,本人将这节课的教学目标定位为: 知识目标:学会选定、复制、移动、删除文件的方法;理解复制文件和移动文件的区别;初步认识回收站。 能力目标:初步培养学生自主探究的能力和迁移、类推的能力;培养学生通过合作共同解决问题的能力。 情感目标:让学生结合自己的情况,对多样化的操作进行选择,使不同个性的学生在完成任务的同时获得成功的情感体验;培养学生良好的信息处理习惯和尊重他人劳动成果的道德品质。 教学重点:文件操作技能的掌握。 教学难点:理解并掌握“移动文件”、“复制文件”的操作技能,形成一套有效的记忆方法。 因为课堂教学是动态开放的过程,随着课堂教学的深入,在师与生、生与生、师生与文本对话的过程中,会产生许多新的教学资源,我将考思将其作为本堂课即定目标的拓展。如某些学生会使用拉框的方式选定多个文件等书本没有介绍的方法,我将其定位为本课的生成性目标之一。 三、设计思路 1、主动任务驱动法的应用。 任务驱动法在信息技术教学中是最为广大师生所理解、接受和使用的一种教学方法,但任务驱动教学法也存在着各种缺陷和不足,在本堂课中,我一改以往教师提出任务的做法,通过创设情境,激发学生的兴趣,学生在同伴与老师的协助下,共同提出任务,在发现问题—提出问题—分析问题——解决问题的过程中得到清晰的思路、方法以及知识的脉络,既培

数据库文件操作命令

数据库文件及记录命令 ADD TABLE 在当前数据库中添加一个自由表 APPEND 在表的末尾添加一个或多个新记录 APPEND FROM ARRAY 由数组添加记录到表中 APPEND FROM 从一个文件中读入记录,追加到当前表的尾部 APPEND GENERAL 从文件中导入OLE对象并将其放入通用字段中 APPEND MEMO 将文本文件的内容复制到备注字段中 APPEND PROCEDURES 将文本文件中的存储过程追加到当前数据库中 A VERAGE 计算数值表达式或字段的算术平均值 BLANK 清除当前记录中所有字段的数据 BROWSE 打开浏览窗口,显示当前或选定表的记录 CALCULATE 对表中的字段或包含字段的表达式进行财务和统计操作CHANGE 显示要编辑的字段 CLOSE 关闭各种类型的文件 CLOSE MEMO 关闭一个或多个备注编辑窗口 COMPILE DATABASE 编译数据库中的存储过程 CONTINUE 继续执行先前的LOCATE命令 COPY MEMO 复制当前记录中的指定备注字段的内容到文本文件 COPY PROCEDURES 将当前数据库中’的存储过程复制到文本文件 COPY STRUCTURE 用当前选择的表结构创建一个新的空自由表 COPY STRUCTURE EXTENDED 创建新表,它的字段包含当前选定表的结构信息COPY TO ARRAY 将当前选定表中的数据复制到数组

COPY TO 用当前选定表的内容创建新文件 COUNT 统计表中记录数目 CREATE 生成一个新的VisualFoxPro表 CREATE CONNECTION 创建一个命名连接并把它存储在当前数据库中 CREATE DATABASE 创建并打开一个数据库 CREATE TRIGGER 创建表的删除、插入或更新触发器 CREATE VIEW 从VisualFoxPro环境创建视图文件 DELETE 给要删除的记录做标记 DELETE CONNECTION 从当前数据库中删除一个命名连接 DELETE DATABASE 从磁盘上删除数据库 DELETE TRIGGER 从当前数据库的表中删除“删除”、“插入”或“更新”触发器│ DELETE VIEW 从当前数据库中删除一个SQL视图 DISPLAY 在VisualFoxPro主窗口或用户自定义窗口中显示与当前表有关的信息DISPLAY CONNECTIONS 显示当前数据库中与命名连接有关的信息 DISPLAY DATABASE 显示有关当前数据库的信息,或当前数据库中的字段、命名连接、表或视图的信息 DISPLAY MEMORY 显示内存变量和数组的当前内容 DISPLAY PROCEDURES 显示当前数据库中存储过程的名称 DISPLAY STRUCTURE 显示一个表文件的结构 DISPLAY TABLES 显示包含在当前数据库中所有的表和表的信息 DISPLAY VIEWS 显示当前数据库中关于SQL视图的信息以及SQL视图是否基于本地或远程表的信息 DROP TABLE 把一个表从数据库中移出,并从磁盘中删除它 DROP VIEW 从当前数据库中删除指定的SQL视图

C语言程序中关于文件的操作

文件操作函数C语言(FILE fputc fgetc fputs fgets fscanf fprintf) 在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。 一、流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下:typedef struct{ int level;/*fill/empty level of buffer*/ unsigned flags;/*File status flags*/ char fd;/*File descriptor*/ unsigned char hold;/*Ungetc char if no buffer*/ int bsize;/*Buffer size*/ unsigned char_FAR*buffer;/*Data transfer buffer*/ unsigned char_FAR*curp;/*Current active pointer*/ unsigned istemp;/*Temporary file indicator*/ short token;/*Used for validity checking*/ }FILE;/*This is the FILE object*/ FILE这个结构包含了文件操作的基本属性,对文件的操作都要通过这个结构的指针来进行,此种文件操作常用的函数见下表函数功能 fopen()打开流 fclose()关闭流 fputc()写一个字符到流中 fgetc()从流中读一个字符 fseek()在流中定位到指定的字符 fputs()写字符串到流 fgets()从流中读一行或指定个字符 fprintf()按格式输出到流 fscanf()从流中按格式读取 feof()到达文件尾时返回真值 ferror()发生错误时返回其值 rewind()复位文件定位器到文件开始处 remove()删除文件 fread()从流中读指定个数的字符 fwrite()向流中写指定个数的字符 tmpfile()生成一个临时文件流 tmpnam()生成一个唯一的文件名 下面就介绍一下这些函数 1.fopen() fopen的原型是:FILE*fopen(const char*filename,const char*mode),fopen实现三个功

open file对文件的操作

open file SYNTAX: OPEN FILE name FOR { BINARY | TEXT } INPUT AS unit_no OPEN FILE name FOR { BINARY | TEXT } OUTPUT AS unit_no OPEN FILE name FOR { BINARY | TEXT } APPEND AS unit_no ARGUMENTS: name - is a string expression specifying the full path name of the file. unit_no - is an integer expression specifying the unit number. Valid unit numbers are any integer. It should also be noted that streams 1 through 15, whether they are files, pipes, or sockets are local to a specific procedure and should be opened and closed in the same procedure. Unit numbers greater than 15 are global; they can be opened, closed, and referenced from any procedure. NOTE: Streams have their own "pool" of unit numbers, while windows have a separate pool. The binary or text mode can be specified for the files. Binary indicates treating carriage returns / line feeds as normal characters. ?INPUT specifies that the file is to be opened for reading only. ?OUTPUT specifies that a new file is to be opened for writing. A file with the specified name is created and is initially empty. If the file previously existed, its contents are lost. ?APPEND specifies that the file is to be opened for writing and its contents are to be retained. If the file does not exist, it is created. Writing is always done at the end of the file. EXAMPLE: open file 'c:/delmia/projlib/data/sim.dat' for binary output as 3 open file 'c:\\delmia\\projlib\\data\\out.dat' for text output as 3 open file 语法: OPEN FILE name FOR { BINARY | TEXT } INPUT AS unit_no OPEN FILE name FOR { BINARY | TEXT } OUTPUT AS unit_no OPEN FILE name FOR { BINARY | TEXT } APPEND AS unit_no

文件File操作

11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择。因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力。本章IO类的使用就从读写文件开始。 11.3.1 文件操作 文件(File)是最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件、声音文件等数据文件,也经常需要根据需要从指定的文件中进行数据的读取。当然,在实际使用时,文件都包含一个的格式,这个格式需要程序员根据需要进行设计,读取已有的文件时也需要熟悉对应的文件格式,才能把数据从文件中正确的读取出来。 文件的存储介质有很多,例如硬盘、光盘和U盘等,由于IO类设计时,从数据源转换为流对象的操作由API实现了,所以存储介质的不同对于程序员来说是透明的,和实际编写代码无关。 11.3.1.1 文件的概念 文件是计算机中一种基本的数据存储形式,在实际存储数据时,如果对于数据的读写速度要求不是很高,存储的数据量不是很大时,使用文件作为一种持久数据存储的方式是比较好的选择。 存储在文件内部的数据和内存中的数据不同,存储在文件中的数据是一种“持久存储”,也就是当程序退出或计算机关机以后,数据还是存在的,而内存内部的数据在程序退出或计算机关机以后,数据就丢失了。 在不同的存储介质中,文件中的数据都是以一定的顺序依次存储起来,在实际读取时由硬件以及操作系统完成对于数据的控制,保证程序读取到的数据和存储的顺序保持一致。 每个文件以一个文件路径和文件名称进行表示,在需要访问该文件的时,只需要知道该文件的路径以及文件的全名即可。在不同的操作系统环境下,文件路径的表示形式是不一样的,例如在Windows操作系统中一般的表示形式为

FileApp使用说明

以前使用其它牌子的智能手机,基本上都可以和电脑共享文件,还可以替代U盘,与其它电脑之间传递文件。自从使用联通版iPhone 3GS后,发现电脑和iPhone之间只能通过“相机胶卷”共享一些图片,而像Word、Excel、PDF等类型的文档只能Email发送到iPhone,文件的管理和分类很不方便,而且发送Email到iPhone还要浪费大量的流量(如果文件很大的话)。 在不越狱的情况下,如何让联通版iPhone和电脑共享文件以及替代U盘就成了一个一直困扰俺的问题。感谢上帝,俺无意间在App Store发现一个免费的文件管理软件,基本上解决了iPhone和电脑之间共享文件的问题,而且还可以把iPhone当做U盘使用,不同的是此U 盘是通过将iPhone当做FTP Server方式实现的。 为帮助其他使用联通版iPhone而又没有越狱的坛友可以让iPhone和电脑共享文件,特写此宝典共同探讨,具体操作方式如下: 1.先在App Store内搜索FileApp这 个应用程序,可以找到两个版本, FileApp Pro是收费版本,售价 4.99美刀,俺钱少选择免费的版 本下载并安装。如果您手机流量 有限,可以考虑使用iTunes下载, 然后同步到iPhone上。App Store 搜索结果如下图:

2.用数据线连接iPhone到电脑(当然也可使用 蓝牙,但这样速度慢而且耗费iPhone电池),在iPhone上点设置–> 通用–> 网络–> 网 络共享–> 共享网络打开。共享打开后在 iPhone屏幕上部出现蓝色条并有“网络共享” 字样,如下图: 3.从iPhone屏幕上找到并打开FileApp这个应 用程序,如下图:

VB文件操作

VB文件操作(一) 2009年12月01日星期二 12:28 在程序设计中,文件是十分有用和不可缺少的。由应用程序产生或处理过的数据,往往在应用程序结束以前仍需保留,或者为了存取方便,提高上机效率,需要将由输入设备输入的数据保存在存储介质上(如磁盘,磁带等)。这些数据是以文件的方式保存在存储介质上的,需要读取数据时可以从外存储器调出,需要保存时可以由内存写到外存。在程序中可直接对文件进行处理,可以保存、访问它所处理的数据,也可以使其它程序共享这些数据。 VB具有强大的文件处理能力,可以处理顺序文件、随即文件和二进制文件,同时提供了与文件处理有关的控件,也提供了大量与文件管理有关的语句、函数。本章介绍文件的结构、三种文件类型、VB对文件和目录维护的主要语句和函数、VB程序对文件的操作方法(文件系统对象)。 6.1 文件 在VB程序中,需要输入少量数据,可通过程序中直接赋值来完成,或通过输入函数以获取数据(如使用函数InputBox),但输入大量的数据时,这些方法易造成数据输入和数据存储不方便,在重复输入相同的数据时,易造成数据不一致。鉴于这种情况,可以将这些大量的数据存储在一个或多个文件中,使用时再从相应的文件中读取。 通常情况下,计算机处理的大量数据都是以文件的形式存放在外部介质(如磁盘)上,操作系统也是以文件为单位对数据进行管理。当访问外部介质上存储的数据时,先按文件名找到所需要的文件,再从该文件中读取相关数据;在外部介质中存入数据时,也必须先建立一个文件,才能向它写入数据。 在介绍文件结构和类型之前,简单介绍对文件命名的基本规则。在Visual Basic 中,文件说明的一般格式为: 设备名:文件引用名 例如: D:myfile.abc 这里的“D:”是设备名,而"myfile.abc”是文件引用名。 设备名是存放文件的设备的名称,如磁盘、磁带、打印机等。在微机中,存放文件的主要设备是磁盘,其名称通常为A:,B:,C:,D:等,分别代表A,B,C,D等驱动器。 在DOS环境下,文件引用名由两部分组成,即文件基本名和扩展名。其中文件基本名常以字母开头,最多不超过8个字符;扩展名是可选的,最多不超过3个字符;在文件基名和扩展名之间有一个圆点。通常把这种文件名称为“8.3”格式。如上例中的“myfile.abc” 在Windows中可以使用长文件名,其长度最多不超过255个字符,并能自动维护传统的“8.3”格式的文件名。 下列字符可用做文件基本名和扩展名: (1)英文字母:a~z、A~Z (2)数字:0~9 (3)特殊字符:$ # & @ ! % ( ) _ - | ,^ ~ / Visual Basic窗体文件的扩展名为.frm,工程文件的扩展名为.vbp,标准模块文件的扩展名为.bas,可执行文件的扩展名为.exe,等等。用户可使用自己的扩展名,但不要与系统使用的扩展名相矛盾。 完整的文件说明由设备名和文件引用名构成。对于磁盘文件来说,还可以含有

file在法律文件中的2层含义

file在法律文件中的2层含义 file在法律文件中,通常有两层含义: (1) 提交; (2)文件归档; 1 If at any time the company proposes to file any registration statement with any relevant governmental authority registering equity securities of the company for a public offering, the company shall give written notice to the shareholders of its intention to do so at least three months prior to the filing of such registration statement. 任何时候,公司为公开发行股本证券登记之需,意欲向有关政府机关提交报表时,公司应在提交报表至少三个月前将登记意图书面通知股东。 2 经集团管理层批准后,将申请表交回集团法务部存档。由申请部门负责办理工商设立登记。申请部门办理完成工商登记程序的,应书面通知法务部,并将申请材料扫描件、新设分公司证照原件提交法务部,由法务部负责保管。 After the application is approved by the leadership of the group, the application shall be handed back to the Legal Affairs Department of the group for filing. The application department shall be responsible for handling the establishment registration with the industrial and commercial administration. Upon completion of handling industrial and commercial registration procedures, the application department shall advise the Legal Affairs Department in writing, and shall submit the scanned copies of application materials and the original certificates and licenses of the newly established company to the Legal Affairs Department. The Legal Affairs Department shall be responsible for taking care of the abovementioned documents.

DOS磁盘文件操作命令

DOS磁盘文件操作命令 一、实验目的 本章主要通过常用的DOS命令的练习,了解DOS的基本功能及其基本组成和DOS常用命令的使用方法。 二、实验条件要求 1.硬件:计算机 2.软件环境:Windows XP 三、实验基本知识点 1. DIR(Dir ectory) 功能:显示指定路径上所有文件或目录的信息 格式:dir [盘符:][路径][文件名] [参数] 参数: /w:宽屏显示,一排显示5个文件名,而不会显示修改时间,文件大小等信息;/p:分页显示,当屏幕无法将信息完全显示时,可使用其进行分页显示; /a:显示当前目录下的所有文件和文件夹; /s:显示当前目录及其子目录下所有的文件。 2. MD(M ake D irectory) 功能:创建新的子目录 格式:md <盘符:><路径名> <子目录名> 3. CD(C hange D irectory) 功能:改变当前目录 格式:cd <盘符:> <路径名> <子目录名> 注意: 根目录是驱动器的目录树状结构的顶层,要返回到根目录,在命令行输入:cd \ 如果想返回到上一层目录,在当前命令提示符下输入:cd.. 如果想进入下一层目录,在当前命令提示符下输入:cd 目录名 4. 全屏幕编辑命令:EDIT 格式:EDIT <文件名>

说明: (1)仅可编辑纯文本格式的文件 (2)指定文件存在时编辑该文件,不存在时新建该文件 5. 显示文件内容命令:TYPE 格式:TYPE <文件名> 说明: (1)可以正常显示纯文本格式文件的内容,而.COM、.EXE等显示出来是乱码。(2)一次只能显示一个文件内容,所以文件名不能使用通配符。 6. 文件复制命令:COPY 格式:COPY <源文件> [目标文件] 说明: (1)源文件指定想要复制的文件来自哪里——[盘符1:][路径1][文件名1] (2)目标文件指定文件拷贝到何方——[盘符2:][路径2][文件名2] (3)如缺省盘符则为当前盘符;路径若为当前目录可缺省路径。 (4)源文件名不能缺省,目标文件名缺省时表示拷贝后不改变文件名。 7. Tree 功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名 格式:tree <盘符:> 8. 文件改名命令:REN 格式:REN <旧文件名> <新文件名> 说明: (1)改名后的文件仍在原目录中,不能对新文件名指定盘符和路径。 (2)可以使用通配符来实现批量改名。 9. 显示和修改文件属性命令:ATTRIB 格式:[盘符][路径] A TTRIB [文件名][+S/-S][+H/-H][+R/-R][+A/-A] 说明: (1)盘符和路径指出ATTRIB.EXE位置 (2)参数+S/-S:对指定文件设置或取消系统属性 (3)参数+H/-H:对指定文件设置或取消隐含属性 (4)参数+R/-R:对指定文件设置或取消只读属性 (5)参数+A/-A:对指定文件设置或取消归档属性

文件和文件夹的操作题

文件和文件夹的操作题 一、文件夹的创建:创建文件或文件夹,要先选好驱动器,如D:、C:(1)请在“我的文档”下新建以下文件夹和文件。 二、重命名文件和文件夹。 (2 )用双击的方法把“班级”这个文件夹改成“期中考试”。 (3)用右击的方法把以自己名字命名的文件夹改为“排版”。 (4)在“期中考试”下再新建一个文件夹,用“文件”―“重命名”改为“打字”。除了这三种之外,还有其他方法吗?_________________________________. 注:右击+M键 三、制、移动文件及文件夹 (5)把文件夹设置成web风格 (6)用“剪切”---“粘贴”把“期中考试”移到桌面上。 (7)用“复制”---“粘贴”把“排版”移到桌面上。 注:比较一下这两种方法有什么不同?_______________________________. (8)用拖动的方法把“打字”文件移到桌面上。 同时操作多个文件夹和文件时: (9)把word1、word3、word5复制到桌面上,(按住Ctrl,选中时) (10)把word1、word2、word3复制到“打字”文件夹下(选中时,按住shift)(11)用鼠标在文件的外围单击并拖动选中所有的文件(word1-word5)。 (12)用“编辑”菜单中的“全选”选定所有的文件。 (13)用“编辑”菜单中的“反向选定”选中除了word3之外的所有文件。 四、查找文件和文件夹 (14)在打字下建5个文本文件wword1、woord2、wwwrd3、wworrd4、wordd5。(15)把打字文件夹中的文件自动排列。 (16)查找以 wordd5命名的这个文件 (17)查找以w*d*命名的文件 (18)查找以w??rd?命名的文件并比较查找到的结果 五、创建快捷方式 (19)把word这个应用程序设置成桌面快捷方式。 (20)用桌面上右击的方法在桌面上创建word2的快捷方式。 (21)设置word2的快捷键为Ctrl+Alt+A (22)把期中考试这个文件夹拖放到“开始”菜单中,设置成开始菜单的快捷方式。

文件与目录操作命令

CentOS 丛书目录 — 系统管理 — 网络服务 — 应用部署 文件与目录操作命令 内容提要 1. 掌握常用的文件操作命令 2. 掌握常用的目录操作命令 目录操作命令 ls 功能说明: 显示文件和目录列表 命令格式: ls [参数] [<文件或目录> …] 常用参数: -a : 不隐藏任何以 . 字符开始的条目 -b : 用八进制形式显示非打印字符 -R : 递归列出所有子目录 -d : 当遇到目录时列出目录本身而非目录内的文件,并且不跟随符号链接 -F : 在条目后加上文件类型的指示符号 (*/=@| 其中一个) -l : 使用较长格式列出信息 -L : 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息-x : 逐行列出项目而不是逐栏列出 -1 : 每行只列出一个文件 -r : 依相反次序排列 -S : 根据文件大小排序 -X : 根据扩展名排序 -c : 根据状态改变时间(ctim e)排序 -t : 根据最后修改时间(m tim e)排序 -u : 根据最后访问时间(atim e)排序 使用举例: $ ls $ ls -a $ ls -F $ ls -l $ ls -R $ ls -Sl $ ls -rl $ ls -cl $ ls -tl $ ls -ul $ ls some/dir/file $ ls some/dir/ $ ls -d some/dir/

tree 功能说明: 显示文件和目录树 命令格式: tree [参数] [<目录>] 常用参数: -a : 不隐藏任何以 . 字符开始的条目 -d : 只显示目录不显示文件 -f : 每个文件都显示路径 -F : 在条目后加上文件类型的指示符号 (*/=@| 其中一个) -r : 依相反次序排列 -t : 根据最后修改时间(m tim e)排序 -L n : 只显示 n 层目录(n为数字) ––dirsfirst : 目录显示在前文件显示在后 使用举例: $ tree $ tree -d $ tree -F $ tree -L 3 $ tree /some/dir/ pwd 功能说明: 显示当前工作目录 命令格式: pwd [参数] 常用参数: -P : 若目录是一个符号链接,显示的是物理路径而不是符号链接使用举例: $ pwd $ pwd -P cd 功能说明: 切换目录 命令格式: cd [参数] [<目录>] 常用参数: -P : 若目录是一个符号链接,显示的是物理路径而不是符号链接使用举例: $ cd /some/dir/ $ cd -P Examples $ cd $ cd ~

VBA文件及文件夹操作

VBA文件及文件夹操作 1.VBA操作文件及文件夹 on error resume next下测试 A,在D:\下新建文件夹,命名为folder 方法1:MkDir "D:\folder" 方法2:Set abc = CreateObject("Scripting.FileSystemObject") abc.CreateFolder ("D:\folder") B,新建2个文件命名为a.xls和b.xls Workbooks.Add ActiveWorkbook.SaveAs Filename:="D:\folder\a.xls" ActiveWorkbook.SaveAs Filename:="D:\folder\b.xls" C,创建新文件夹folder1并把a.xls复制到新文件夹重新命名为c.xls MkDir "D:\folder1" FileCopy "D:\folder\a.xls", "D:\folder1\c.xls" D,复制folder中所有文件到folder1 Set qqq = CreateObject("Scripting.FileSystemObject") qqq.CopyFolder "D:\folder", "D:\folder1" D,重命名a.xls为d.xls name "d:\folder1\a.xls" as "d:\folder1\d.xls" E,判断文件及文件夹是否存在 Set yyy = CreateObject("Scripting.FileSystemObject")

If yyy.FolderExists("D:\folder1) = True Then ... If yyy.FileExists("D:\folder1\d.xls) = True Then ... F,打开folder1中所有文件 Set rrr = CreateObject("Scripting.FileSystemObject") Set r = rrr.GetFolder("d:\folder1") For Each i In r.Files Workbooks.Open Filename:=("d:\folder1\" + https://www.doczj.com/doc/1d10017209.html, + "") Next G,删除文件c.xls kill "d:\folder1\c.xls" H,删除文件夹folder Set aaa = CreateObject("Scripting.FileSystemObject") aaa.DeleteFolder "d:\folder" 2.8excel vba一次性获取文件夹下的所有文件名的方法 小生今天上网下载了一个财务常用报表的文件包,里面有几百个excel工作表,要是手工一个一个的获得文件名的话,那我可是要忙十天半月哦。于是想到昨论坛就是vba论坛,昨不充分利用excel 自身的高级应用呀,呵呵,实现的代码如下,把工作量几天的任务可是一下子就完成了,这就是excel vba 给你工作提高效率的结果! excle vba自动获取同一文件夹下所有工作表的名称红色代码: 按Alt+F11,打开VBA编辑器,插入一个模块,把下面的代码贴进去,按F5执行 Sub t() Dim s As FileSearch '定义一个文件搜索对象

net文件操作

.NET中处理文件和文件夹的操作 首先要熟悉.NET中处理文件和文件夹的操作。File类和Directory类是其中最主要的两个类。了解它们将对后面功能的实现提供很大的便利。 本节先对和文件系统相关的两个.NET类进行简要介绍。 System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法。 (1) 文件打开方法:File.Open () 该方法的声明如下: public static FileStream Open(string path,FileMode mode) 下面的代码打开存放在c:\tempuploads目录下名称为newFile.txt文件,并在该文件中写入hello。 private void OpenFile() { FileStream.TextFile=File.Open(@"c:\tempuploads\newFile.txt",FileMode.Append); byte [] Info = {(byte)'h',(byte)'e',(byte)'l',(byte)'l',(byte)'o'}; TextFile.Write(Info,0,Info.Length); TextFile.Close(); } (2) 文件创建方法:File.Create() 该方法的声明如下: public static FileStream Create(string path;) 下面的代码演示如何在c:\tempuploads下创建名为newFile.txt的文件。 由于File.Create方法默认向所有用户授予对新文件的完全读/写访问权限,所以文件是用读/写访问权限打开的,必须关闭后才能由其他应用程序打开。为此,所以需要使用FileStream类的Close方法将所创建的文件关闭。 private void MakeFile() { FileStream NewText=File.Create(@"c:\tempuploads\newFile.txt"); NewText.Close(); } (3) 文件删除方法:File.Delete()

C语言文件操作命令

C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。 返回值 fclose(关闭文件) 相关函数 close,fflush,fopen,setbuf 表头文件 #include 定义函数 int fclose(FILE * stream); 函数说明 fclose()用来关闭先前fopen()打开的文件。此动作会让缓冲区内的数据写入文件中,并释放系统所提供的文件资源。 返回值若关文件动作成功则返回0,有错误发生时则返回EOF并把错误代码存到errno。 错误代码 EBADF表示参数stream非已打开的文件。 范例请参考fopen()。 fdopen(将文件描述词转为文件指针) 相关函数 fopen,open,fclose 表头文件 #include 定义函数 FILE * fdopen(int fildes,const char * mode); 函数说明 fdopen()会将参数fildes 的文件描述词,转换为对应的文件指针后返回。参数mode 字符串则代表着文件指针的流形态,此形态必须和原先文件描述词读写模式相同。关于mode 字符串格式请参考fopen()。 返回值转换成功时返回指向该流的文件指针。失败则返回NULL,并把错误代码存在errno中。 范例 #include main() { FILE * fp =fdopen(0,”w+”); fprintf(fp,”%s\n”,”hello!”); fclose(fp); } 执行 hello! feof(检查文件流是否读到了文件尾) 相关函数 fopen,fgetc,fgets,fread 表头文件 #include 定义函数 int feof(FILE * stream); 函数说明 feof()用来侦测是否读取到了文件尾,尾数stream为fopen()所返

关于大学生村官存在的问题及管理的建议

关于大学生村官存在的问题及管理的建议 河北省万全县安家堡乡现有大学生村官4名。在一年多的工作中,他们充分发挥自己聪明才智和工作热情,为新农村建设中起到了积极的推动作用。但是经过调查,发现有的大学生村官思想上或工作中存在一些问题。如何解决这些问题,进一步调动他们的工作积极性、主动性,增强他们的事业心和责任感,确保留得住、干得好、有前途,是我们思考的问题。 一、大学生村官存在的一些问题 第一,思想上没有“扎根”。大学生选择到农村担任“村官”的原因较多,有相当一部分是出于就业的考虑。“村官”只是一种就业途径,而不是追求的事业。他们在担任一段时间“村官”后,会通过考公务员、考研、提拔等途径,脱离农村基层。可以看出,到农村担任“村官”,是相当一部分大学生在就业压力和优惠政策引力下作出的选择。针对这种情况,如何教育引导大家在思想上扎下根来,集中精力、发挥聪明才智,在新农村建设中真正有所作为,是今后工作中需要着力解决的一个问题。 第二,工作上不够“深入”。进村第一年的大学生多数面临

工作难以“深入”问题,如感到专业不对口、人际关系难处理、村里人缺乏认同感、生活不习惯、工作无从下手等。造成这种情况的原因主要有二:一是农村人际关系复杂、利益纠葛较多,农村工作琐碎繁杂,新来者很难在短期内被农村社会所接纳。二是大学生“村官”自身存在一定的局限性。如大多数“村官”经历单纯,有的甚至根本没有农村生活的经历。因此,如何让大学生“村官”尽快了解农村,融入农村,与群众“打成一片”,是需要认真解决的重要问题。 第三,能力上需要“提高”。大学生村官能力上的欠缺阻碍着他们在农村知识优势的发挥。一是缺乏足够的人际沟通能力,一时很难适应农村工作。二是他们大多刚刚离开学校,社会工作经验不足,缺乏一定的组织管理能力。三是农村环境复杂,工作繁琐,面对困难和挫折,大学生村官自我激励能力有待提高。大学生村官如何弥补自身不足,完善知识结构,将其尽快转化为实际工作能力,需要通过培训和管理等工作加以解决。 第四,定位尚需明确。大学生村干部属于“乡镇管理、服务基层”的性质。由于他们的特殊身份,虽属所在乡镇管理,但乡镇既不能以一名普通乡镇干部去管理和要求,又不能以一名农村干部去对待,同时目前乡镇民主选举不断完善,不能通过法定程序进入村级班子的大学生村官定位尚不明确,

相关主题
文本预览
相关文档 最新文档