精华内容
下载资源
问答
  • VS2010/MFC 读写excel文件 操作类

    千次阅读 2016-05-28 18:07:13
    操作类参考一:http://blog.csdn.net/superbfly/article/details/18040445  二维数组操作参考二 : ...   1,根据参考一建立操作类,参考一中只能打开现有excel文

             操作类参考一:http://blog.csdn.net/superbfly/article/details/18040445

             二维数组操作参考二 : http://www.cnblogs.com/xianyunhe/archive/2011/09/25/2190485.html

             

             1,根据参考一建立操作类,参考一中只能打开现有excel文件,否则报错。我适当修改了下,根据当前机器时钟命名并建立一个excel文件,;

             2,根据参考二添加了写二维int、double数组的功能。

           

              操作类下载地址:http://download.csdn.net/detail/yu_fujiang/9534113


              使用环境:VS2010 / MFC

              使用方法:

              1,将CApplication.h、CWorkbooks.h、CWorkbook.h、CWorksheets.h、CWorksheet.h、CRange.h、OperationExcelFile.h、OpetationExcelFile.cpp几个文件放在程序当前文件夹下;

               2,在C**Dlg.cpp中添加OperationExcelFile.h,同时添加g_excelFile全局变量或者m_excelFile成员变量;

               3,在C**App类对应.cpp文件的CexcelFileTest2App::InitInstance()中添加excel操作类的初始化函数

          //初始化excel操作
          OperationExcelFile::InitExcel();
         <pre name="code" class="cpp">      4,给C**App类重写int ExitInstance()函数,并在其中添加操作类的释放函数

     
    
    <pre name="code" class="cpp">      int CexcelFileTest2App::ExitInstance()
          {
    	// TODO: 在此添加专用代码和/或调用基类
    	//excel操作释放
    	OperationExcelFile::ReleaseExcel();
    
    	return CWinApp::ExitInstance();
          }
                 5,在需要调用这个函数的地方,添加代码段: 
    

                

            CString filename;
    	CTime tm = CTime::GetCurrentTime();
    	filename = tm.Format(L"%Y%m%d_%H%M%S.xlsx");
    	char pCurPath[100];
    	GetCurrentDirectoryA( 100, pCurPath );
    	filename = CString(pCurPath) + L"\\Log\\" + filename;
    
    	g_excelFile.OpenExcelFile( filename );
    	g_excelFile.LoadSheet(L"Sheet1",1);
    	g_excelFile.SetCellString(1,1,L"Hello world!");
    	g_excelFile.SetCellDouble(2,1,0.56);
    	g_excelFile.SetCellInt(3,1,10000);
    
    	int iArray[2][3] = {1,2,3,4,5,6};
    	g_excelFile.SetSheetIntArray(5,1,&iArray[0][0],2,3);
    
    	double dArray[2][3] = {1.5,2.5,3.05,4.005,5.1,6.3};
    	g_excelFile.SetSheetDoubleArray(10,1,&dArray[0][0],2,3);
    
    	g_excelFile.SaveasXSLFile( filename );
    	g_excelFile.CloseExcelFile( false );

               

           

    展开全文
  • 之前的File只是针对文件本身进行操作的,而如果要想对文件内容进行操作,则可以使用RandomAccessFile,此类属于随机读取,可以随机读取一个文件中指定位置的数据,例如,现在假设文件中保存以下三个数据: ...

    学习目标

    掌握RandomAccessFile类的作用
    可以使用RandomAccessFile读取指定位置的数据

    RandomAccessFile类的主要功能是完成随机读取功能,可以读取指定位置的内容。
    之前的File类只是针对文件本身进行操作的,而如果要想对文件内容进行操作,则可以使用RandomAccessFile类,此类属于随机读取类,可以随机读取一个文件中指定位置的数据,例如,现在假设文件中保存类以下三个数据:
    zhangsan, 30
    lisi, 31
    wangwu, 32

    因为在文件中,所有内容都是按照字节存放的,都有固定的保存位置。
    RandomAccessFile类的常用的操作方法
    1、public  RandomAccessFile(File file, String mode)throws FileNotFoundException  构造方法  接收File类的对象,指定操作路径,但是在设置时需要设置模式:"r": 只读、"w": 只写、"rw": 读写。
    2、public RandomAccessFile(String name, String mode) throws FileNotFoundException 构造方法 不再使用File类对象表示文件,而是直接输入了一个固定的文件路径。
    3、public void close() throws IOException   关闭操作
    4、public int read(byte[] b) throws IOException 将内容读取到一个byte数组之中
    5、public final byte readByte()  throws IOException 读取一个字节
    6、public final int readInt()  throws IOException从文件中读取整型数据。
    7、public void seek(long pos) throws IOException 设置读指针的位置。
    8、public final void writeBytes(String s) throws IOException 将一个字符串写入到文件之中,按字节的方式处理。
    9、public final void writeInt(int v) throws IOException 将一个int型数据写入文件,长度为4位。
    10、public int skipBytes(int n) throws IOException 指针跳过多少个字节。
    构造:public RandomAccessFile(File file, String mode)  throws FileNotFoundException
    实例化此类的时候需要传递File类,告诉程序应该操作的是哪个文件,之后有一个模式,文件的打开模式,常用的两种模式:
    r:读模式
    w:只写
    rw:读写,如果使用此模式,如果此文件不存在,则会自动创建。
    import java.io.File ;
    import java.io.RandomAccessFile ;
    public class RandomAccessFileDemo01{
    	// 所有的异常直接抛出,程序中不再进行处理
    	public static void main(String args[]) throws Exception{
    		File f = new File("d:" + File.separator + "test.txt") ;	// 指定要操作的文件
    		RandomAccessFile rdf = null ;		// 声明RandomAccessFile类的对象
    		rdf = new RandomAccessFile(f,"rw") ;// 读写模式,如果文件不存在,会自动创建
    		String name = null ;
    		int age = 0 ;
    		name = "zhangsan" ;			// 字符串长度为8
    		age = 30 ;					// 数字的长度为4
    		rdf.writeBytes(name) ;		// 将姓名写入文件之中
    		rdf.writeInt(age) ;			// 将年龄写入文件之中
    		name = "lisi    " ;			// 字符串长度为8
    		age = 31 ;					// 数字的长度为4
    		rdf.writeBytes(name) ;		// 将姓名写入文件之中
    		rdf.writeInt(age) ;			// 将年龄写入文件之中
    		name = "wangwu  " ;			// 字符串长度为8
    		age = 32 ;					// 数字的长度为4
    		rdf.writeBytes(name) ;		// 将姓名写入文件之中
    		rdf.writeInt(age) ;			// 将年龄写入文件之中
    		rdf.close() ;				// 关闭
    	}
    };
    以上完成了写入的操作,每条数据的长度都是12位。
    写完之后,开始读取数据。写的时候可以将一个字符串写入,读的时候需要一个个的以字节的形式读取出来。
    import java.io.File ;
    import java.io.RandomAccessFile ;
    public class RandomAccessFileDemo02{
    	// 所有的异常直接抛出,程序中不再进行处理
    	public static void main(String args[]) throws Exception{
    		File f = new File("d:" + File.separator + "test.txt") ;	// 指定要操作的文件
    		RandomAccessFile rdf = null ;		// 声明RandomAccessFile类的对象
    		rdf = new RandomAccessFile(f,"r") ;// 以只读的方式打开文件
    		String name = null ;
    		int age = 0 ;
    		byte b[] = new byte[8] ;	// 开辟byte数组
    		// 读取第二个人的信息,意味着要空出第一个人的信息
    		rdf.skipBytes(12) ;		// 跳过第一个人的信息
    		for(int i=0;i<b.length;i++){
    			b[i] = rdf.readByte() ;	// 读取一个字节
    		}
    		name = new String(b) ;	// 将读取出来的byte数组变为字符串
    		age = rdf.readInt() ;	// 读取数字
    		System.out.println("第二个人的信息 --> 姓名:" + name + ";年龄:" + age) ;
    		// 读取第一个人的信息
    		rdf.seek(0) ;	// 指针回到文件的开头
    		for(int i=0;i<b.length;i++){
    			b[i] = rdf.readByte() ;	// 读取一个字节
    		}
    		name = new String(b) ;	// 将读取出来的byte数组变为字符串
    		age = rdf.readInt() ;	// 读取数字
    		System.out.println("第一个人的信息 --> 姓名:" + name + ";年龄:" + age) ;
    		rdf.skipBytes(12) ;	// 空出第二个人的信息
    		for(int i=0;i<b.length;i++){
    			b[i] = rdf.readByte() ;	// 读取一个字节
    		}
    		name = new String(b) ;	// 将读取出来的byte数组变为字符串
    		age = rdf.readInt() ;	// 读取数字
    		System.out.println("第三个人的信息 --> 姓名:" + name + ";年龄:" + age) ;
    		rdf.close() ;				// 关闭
    	}
    };

    如果想操作文件内容的话,可以使用RandomAccessFile完成

    总结:
    1、了解RandomAccessFile类的作用即可。
    2、RandomAccessFile类操作起来比较麻烦,所以在IO中会提供专门的输入输出操作。

    展开全文
  • Apache Commons-io 常用的操作文件工具 FileUtils FileUtils.copyFile(File srcFile,File destFile); srcFile:需要拷贝的文件 destFile:拷贝后的文件 注:可以理解为文件内容的复制,如果拷贝...

    Apache Commons-io 常用的操作文件工具类

    FileUtils类

    FileUtils.copyFile(File srcFile,File destFile);

    srcFile:需要拷贝的文件
    destFile:拷贝后的文件
    注:可以理解为文件内容的复制,如果拷贝后的文件已存在,将替换已存在文件的内容

    FileUtils.copyFileToDirectory(File srcFile,File destDirectory);

    srcFile:需要拷贝的文件
    destDirectory:拷贝后的目录
    注:可以理解为文件的复制,如果拷贝后的目录存在相同名称的文件,将替换之前的文件

    FileUtils.copyFile(File srcFile,OutputStream out);

    srcFile:需要拷贝的文件
    out:输出流
    注:将文件拷贝到输出流中,个人认为这个比较常用

    FileUtils.copyInputStreamToFile(InputStream in,File destFile);

    in:输入流
    destFile:拷贝后的文件
    注:将输入流中的数据,拷贝到文件中

    FileUtils.forceDelete(File delFile);

    delFile:删除的文件
    注:强制删除文件,这里强调一下file类的delete()方法
    有时候我们使用delete方法删除文件时,会出现文件删除失败,原因有三点:
    1:文件正在被占用
    2:没有close输入输出流
    3:如果是删除目录,必须删除目录下的文件,才能删除目录

    FileUtils.contentEquals(File srcFile,File destFile);

    srcFile:源文件
    destFile :比较的文件
    注:比较的是文件的内容,返回值是boolean类型

    FileUtils.moveToDirectory(File srcFile,File destDirectory);

    srcFile:需要移动的文件
    destDirectory:移动到的目录
    注:较常用

    FileUtils.readFileToString(File srcFile,String charsetName);

    srcFile:需要读取的文件
    charsetName:字符编码 UTF-8
    return String

    FileUtils.readLines(File srcFile,String charsetName);

    srcFile:需要读取的文件
    charsetName:字符编码 UTF-8
    return List<String>

    FileUtils.writeStringToFile(File destFile,String content,String charsetName,Boolean b);

    destFile:需要写入的文件
    content:写入内容
    charsetName:字符编码 UTF-8
    b:默认true就行

    File.list(EmptyFileFilter.NOT_EMPTY);

    EmptyFileFilter:过滤文件内容为空的类
    return String[]; 遍历得到文件名称

    File.list(new SuffixFileFilter(String suffix));

    SuffixFileFilter:过滤后缀的类
    suffix:需要过滤的后缀

    NameFileComparator.NAME_COMPARATOR.compare(File srcFile,File distFile);

    比较俩个文件名
    srcFile:源文件
    distFile:比较的文件
    return 0 相同

    展开全文
  • java文件操作(创建读取写入删除)

    千次阅读 2018-12-21 09:37:17
    文章目录文件处理文件的基本概念Java中的file文件操作判断文件是否存在,如果不存在就创建一个文件写入文件删除对文件夹的操作得到文件夹中的文件列表文件夹删除 文件处理 文件的基本概念 Java程序可访问的最...

    文件处理

    文件的基本概念

    Java程序可访问的最主要的外部资源之一就是文件。

    在Java中用File类来进行文件及目录的操作,常见操作:

    –查询文件信息

    –创建文件

    –文件内容读取

    –写文件

    Java中的file类

    Java中的File在Java.io包中

    对文件的操作

    判断文件是否存在,如果不存在就创建一个
    File f=new File("test.txt");
    boolean r=false;
    if(!f.exists()) {
    	try {
    		r=f.createNewFile();
    	} catch (IOException e) {
    		// TODO: handle exception
    		e.printStackTrace();
    	}
    	if(r) {
    		System.out.println("文件创建成功");
    	}
    }
    
    文件写入
    try {
    	Writer w=new FileWriter(f);
    	w.write("Hello World!!!");//write()里可以写任意字符串
    	w.close();
    } catch (Exception e) {
    	// TODO: handle exception
    	e.printStackTrace();
    }
    
    

    在这里插入图片描述

    文件读取
    try {
    	String line=null;
    	FileReader fr=new FileReader(f);
    	BufferedReader br=new BufferedReader(fr);
    	while((line=br.readLine())!=null) {
    		System.out.println(line);
    	}
    	fr.close();
    } catch (Exception e) {
    	// TODO: handle exception
    	e.printStackTrace();
    }
    

    在这里插入图片描述

    文件删除
    r=f.delete();
    if(r) {
    	System.out.println("文件删除成功!");
    }
    

    对文件夹的操作

    #####判断文件夹是否存在,如果不存在就创建一个

    File dir=new File("test");
    boolean r=false;
    if(!dir.exists()) {
    	r=dir.mkdir();
    	if(r) {
    		System.out.println("文件夹创建成功");
    		}
    	}
    }
    
    得到文件夹中的文件列表
    String[] fs=dir.list();
    	for (int i = 0; i < fs.length; i++) {
    		System.out.println(fs[i]);
    }
    

    在这里插入图片描述

    文件夹删除
    r=dir.delete();
    	if(r) {
    	System.out.println("文件夹删除成功!");
    }
    
    展开全文
  • Java文件操作(超详细+代码示例)

    万次阅读 多人点赞 2019-04-21 21:26:03
    Java文件操作一、Java.io包1.1 File1.2 Stream流1.2.1 使用FileInputStream1.2.2 使用FileOutputStream二、序列化 我们日常使用电脑的时候,基本都会和文件打交道,比如我们做ppt,或者写论文的时候,我们打开...
  • Java文件操作

    万次阅读 多人点赞 2018-06-13 15:37:04
    Java中的File给我们提供了文件操作的基础,本博客讲解的内容是工程训练任务2.1中的一些程序,对于写入操作在上一篇博客中已经有所涉及,故本博客只展示任务挑战中的三个小程序。 2、基本任务和代码 (1)挑战...
  • C# 文件操作详解(一)File

    千次阅读 2014-02-15 14:44:14
    C#对文件操作相当方便,主要涉及到四个:File、FileInfo、Directory、DirectoryInfo,前两个提供了针对文件操作,后两个提供了针对目录的操作,类图关系如下:  图1:类图  下面通过实例来看下每...
  • 1. 文件及文件夹操作简介java自身对文件操作来自于java.io.File,能够支持: boolean exists(): Tests whether the file or directory denoted by this abstract pathname exists. boolean delete(): ...
  • Qt之文件操作

    万次阅读 多人点赞 2010-12-19 02:14:00
     今天学习QT的文件操作1、QIODevice直接继承自QObjectQIODevice是输入/输出设备的基类。QIODevice为设备提供了公共实现和抽象接口用于读写块数据。QIODevice是一个抽象,不能被实例化。被Q3Socket,Q3
  • 使用C#语言中的File我们能够非常轻松的使用一些文件操作的函数来完成对文件简单的读写操作: ReadAllByte()函数,将文件中的文字内容转成byte数组并返回。 案例)读取文件,并输出到控制台上 【准备读取的文件】...
  • NPOI实现.NET的Excel导入导出功能,可兼容各种版本的 Office 和 WPF 文件的打开,简单实用,里面有NPOI类库+Excel的操作帮助+实例调用代码; 一看便知怎么使用了,简洁明了。
  • C# MySQL 数据库操作类 (包含MySql.Data.Dll文件) 常用方法二三十多个 最近项目中用到的就写了个
  • 二、 C++ 的FSTREAM提供的文件操作 在C++中,有一个stream这个,所有的I/O都以这个“流”为基础的,包括我们要认识的文件I/O,stream这个有两个重要的运算符:1、插入器( 向流输出数据。比如说系统有一...
  • cs文件,外部类操作窗体控件

    千次阅读 2017-11-28 18:08:22
    前期操作 在progiam.cs文件中添加代码 添加cs文件 1、修改控件属性办法 修改控件属性 外部cs文件修改 form1.cs文件修改 运行成功 2、通过属性的方式 在form1.cs文件添加 在新建cs文件中...
  • python 操作配置文件

    万次阅读 2020-05-04 07:10:40
    配置文件 一般程序都需要保存一些设置信息,比如字体大小,语言等等。这时候就不能讲配置写入到程序代码中,需要一个文件来...python代码实现简单的配置文件类 首先需要安装configparser库 如果程序要多处使用到配置...
  • 我的博客——Java文件操作系列 【Java文件操作(一)】递归打印文件目录 【Java文件操作(二)】删除文件夹,但保留其内部文件 【Java文件操作(三)】递归复制文件夹内所有文件 【Java文件操作(四)】递归套...
  • JAVA文件IO操作

    万次阅读 2019-09-06 22:44:41
    Java提供了I/O操作可以将数据保存到多种类型的文件当中(当然每种特定格式的文件有其独特的构造方式和存取方式),本篇笔记将带你了解操作各种类型文件都具有的共同部分,了解了这些共同之处,就算遇到鲜有接触的...
  • java文件读写及其用法介绍

    万次阅读 多人点赞 2016-05-10 13:53:21
    本文主要是对Java文件读写操作中常用的进行理顺,然后明白其用法,为之后能自如的进行文件读写操作打下基础。
  • C# 文件操作

    千次阅读 2018-07-17 15:17:32
    11 文件操作概述 11.1 驱动器  在Windows操作系统中,存储介质统称为驱动器,硬盘由于可以划分为多个区域,每一个区域称为一个驱动器。.NET Framework提供DriveInfo和 DriveType枚举型,以方便在程序中直接...
  • MFC文件流I/O操作:CFile

    千次阅读 2012-12-21 08:01:31
    一.简介  所谓“文件”,一般是指存在...在程序运行过程中,常常需要将一些数据输出到磁盘上存起来,以后需要时再从磁盘中输入到计算机内存,这种磁盘文件就是数据文件,CFile类操作对象就是这种数据文件。  CFil
  • C#常用的文件操作方法File命名空间:System.IO 序号  函数名称  描述   1  AppendAllText  将指定的字符串追加到文件中,如果文件还不存在则创建该文件。   2  AppendText  创建一个...
  • C#文件操作基础之File和FileInfo

    万次阅读 2014-06-09 22:28:50
    文件和I/O流的差异: 文件是一些具有永久存储及特定顺序的字节组成的一个有序的、具有名称的集合。 因此对于文件,我们常常想到目录路径,磁盘存储,文件和目录名等方面。 I/O流提供一种后备存储写入字节和从后备...
  • C++文件操作(输入输出流)

    千次阅读 2017-01-16 02:13:21
    1.首先说明一下几个的关系: 如图:ios_base是ios的基类,然后分别派生出 istream 和 ostream 输入输出,而iostream 由继承了 istream 和 ostream 的输入输出。...2.文件打开方式: ofstream out;
  • Java 文件操作

    万次阅读 2015-06-06 15:38:39
    11.3 I/O使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从...11.3.1 文件操作 文件(File)是 最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件、声音文件等数据文件,
  • python文件中调用另一个python文件

    万次阅读 多人点赞 2018-10-10 21:03:57
    如果是在同一个 module中(也就是同一个py 文件里),直接用就可以 如果在不同的module里,例如 a.py里有 class A: b.py 里有 class B: 如果你要在class B里用class A 需要在 b.py的开头写上 from a import A   需要...
  • C++对文件操作(新手入门)

    万次阅读 多人点赞 2018-02-26 14:27:02
    引文: 输出流:ostream (output ...写操作(输出)的文件类:ofstream 读操作(输入)的文件类:ifstream 可同时读写操作文件类:fstream (file stream) 理解例子: ofstream examplefile("examp...
  • 使用QFile进行文件操作

    万次阅读 2017-03-23 09:03:16
    QFile我我们提供了操作文件的常用功能。它是一种io设备,可以用来读写文本文件和二进制文件,也可以用来读写Qt的资源文件。QFile可以单独使用,该本身提供了read/write函数,但更方便的方式是,将QFile和...
  • C#操作读写文本文件txt

    万次阅读 2018-04-12 14:15:05
    计算机在最初只支持ASCII编码,但是后来为了支持其他语言中的...在Windows操作系统中,一个文本文件的前几个字节是用来指定该文件的编码方式的 如果你使用NotePad或WordPad来打开一个文本文件,你并不用担心该文...
  • python 的文件类操作

    万次阅读 2019-08-27 16:46:45
    只读(r, rb) 只写(w, wb) 追加(a, ab) r+读写 ...1.读取操作 try: f = open(r"C:\Users\20346\Desktop\1.txt", "r", encoding="UTF-8") content = f.read() print(content) except BaseExcepti...
  • Linux操作系统文件类型有哪几种?

    万次阅读 2018-07-30 22:10:13
    普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等,现在我们进行一个简要的说明。 1. 普通文件  我们用 ls -lh 来查看某个文件的属性,可以看到有类似-rwxrwxrwx,值得注意的是第一个符号是 - ,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,564,554
精华内容 1,025,821
关键字:

文件操作类