精华内容
下载资源
问答
  • 本文代码都在Windows/VC++6.0下测试过,... 当linux上的代码读取Windows文件格式时, 读取结果的每行都会多一个\r, 想想为什么。 2. 当Windows上的代码读取linux格式文件时, 读取的结果会显示只有一行, 想想为什么。

          前些天,发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程:

          人工智能入门与进阶(链接)

     

     

     

           本文代码都在Windows/VC++6.0下测试过, 在linux/g++下也没有问题。 

           但是,请一定注意linux和Windows文件格式的区别,比如:

           1. 当linux上的代码读取Windows文件格式时, 读取结果的每行都会多一个\r,  想想为什么。

           2. 当Windows上的代码读取linux格式文件时, 读取的结果会显示只有一行, 想想为什么。

     

     

           先用C语言写一个丑陋的程序:

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    	FILE *fp;
    	if(NULL == (fp = fopen("1.txt", "r")))
    	{
    		printf("error\n");
    	    exit(1);
    	}
    
    	char ch;
    	while(EOF != (ch=fgetc(fp)))
    	{
    		printf("%c", ch);
    	}
    
    	fclose(fp);
    
    	return 0;
    }

     

         你只能看到结果,却没法利用每一行。 我们来改为:

    // VC++6.0
    
    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
    	char szTest[1000] = {0};
    	int len = 0;
    
    	FILE *fp = fopen("1.txt", "r");
    	if(NULL == fp)
    	{
    		printf("failed to open dos.txt\n");
    		return 1;
    	}
    
    	while(!feof(fp))
    	{
    		memset(szTest, 0, sizeof(szTest));
    		fgets(szTest, sizeof(szTest) - 1, fp); // 包含了换行符
    		printf("%s", szTest);
    	}
    
    	fclose(fp);
    
    	printf("\n");
    
    	return 0;
    }

     

          这样, 我们就是整行读取了。
     

          感觉C的读取方法有点丑陋,还是看看C++吧(只要文件格式Windows/linux和编译平台Windows/linux对应一致, 就放心用吧):

    #include <fstream>
    #include <string>
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	ifstream in("1.txt");
    	string filename;
    	string line;
    
    	if(in) // 有该文件
    	{
    		while (getline (in, line)) // line中不包括每行的换行符
    		{ 
    			cout << line << endl;
    		}
    	}
    	else // 没有该文件
    	{
    		cout <<"no such file" << endl;
    	}
    
    	return 0;
    }

     

        当然,你可以对上述程序进行修改,让1.txt中的每一行输入到2.txt中,如下:

    #include <fstream>
    #include <string>
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	ifstream in("1.txt");
    	ofstream out("2.txt");
    	string filename;
    	string line;
    
    	if(in) // 有该文件
    	{
    		while (getline (in, line)) // line中不包括每行的换行符
    		{ 
    			cout << line << endl;
    			out << line << endl; // 输入到2.txt中
    		}
    	}
    	else // 没有该文件
    	{
    		cout <<"no such file" << endl;
    	}
    
    	return 0;
    }

          结果, 2.txt和1.txt中的内容完全一致,你可以用Beyond Compare比较一下,我比较过了。

     

         看来上述程序还能实现文件的复制呢,如下:

    #include <fstream>
    #include <string>
    #include <iostream>
    using namespace std;
    
    void fileCopy(char *file1, char *file2)
    {
    	// 最好对file1和file2进行判断
    	
    	ifstream in(file1);
    	ofstream out(file2);
    	string filename;
    	string line;
    
    	while (getline (in, line))
    	{ 
    		out << line << endl;
    	}
    }
    
    int main()
    {
    	fileCopy("1.txt", "2.txt");
    	return 0;
    }

     

        当然了,上述程序只能针对文本文件(不仅仅是.txt),对其它类型的文件,不适合。

     

     

    展开全文
  • Matlab读取excel文件中的数据

    万次阅读 多人点赞 2018-07-24 15:08:58
    MATLAB读取excel中的数据 读取sheet1中的数据 [num,txt,raw]=xlsread('C:\Users\Administrator\Desktop\test\a.xls') %num返回的是excel中的数据,txt输出的是文本内容,row输出的是未处理数据 %一般情况下,...

    一、 Matlab读取excel中的数据

    1.1 读取sheet1中的数据

    % num返回的是excel中的数据,txt输出的是文本内容,raw输出的是未处理数据
    [num,txt,raw]=xlsread('C:\Users\Administrator\Desktop\test\a.xls') 
    
    % 一般情况下,我们读取的是excel中的数据,所以可以直接用下面的命令,只输出数据矩阵便可
    [num]=xlsread('C:\Users\Administrator\Desktop\test\a.xls') 

    1.2 读取指定sheet中的数据

    如果想读取excel中的第二个sheet中的数据,可以输入下面命令

    % 读取excel中第二个Sheet内容
    [num]=xlsread('C:\Users\Administrator\Desktop\test\a.xls', 2)

    1.3 读取指定单元格中的数据

    %读取excel中,第二个sheet,A2-C5之间的内容
    [num]=xlsread('C:\Users\Administrator\Desktop\test\a.xls', 2, 'A2:C5')

    展开全文
  • python读取、写入txt文本内容

    万次阅读 多人点赞 2019-08-22 21:54:28
    读取txt文本 python常用的读取文件函数有三种read()、readline()、readlines() 以读取上述txt为例,看一下三者的区别 read() 一次性读全部内容 一次性读取文本中全部的内容,以字符串的形式返回结果 with open...

    读取txt文本

    python常用的读取文件函数有三种read()、readline()、readlines() 
    这里写图片描述 
    以读取上述txt为例,看一下三者的区别

    read()    一次性读全部内容

    一次性读取文本中全部的内容,以字符串的形式返回结果

    with open("test.txt", "r") as f:  # 打开文件
        data = f.read()  # 读取文件
        print(data)

    è¿éåå¾çæè¿°

    readline()    读取第一行内容

    只读取文本第一行的内容,以字符串的形式返回结果

    with open("test.txt", "r") as f:
        data = f.readline()
        print(data)

    readlines()     列表

    读取文本所有内容,并且以数列的格式返回结果,一般配合for in使用

    with open("test.txt", "r") as f:
        data = f.readlines()
        print(data)

    readlines会读到换行符,可用如下方法去除:

    with open("test.txt", "r") as f:
        for line in f.readlines():
            line = line.strip('\n')  #去掉列表中每一个元素的换行符
            print(line)

     

    写入txt文本

    with open("test.txt","w") as f:
        f.write("这是个测试!")  # 自带文件关闭功能,不需要再写f.close()

     

    读写模式

    要了解文件读写模式,需要了解几种模式的区别,以及对应指针

    r :   读取文件,若文件不存在则会报错

    w:   写入文件,若文件不存在则会先创建再写入,会覆盖原文件

    a :   写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾

    rb,wb:  分别于r,w类似,但是用于读写二进制文件

    r+ :   可读、可写,文件不存在也会报错,写操作时会覆盖

    w+ :   可读,可写,文件不存在先创建,会覆盖

    a+ :  可读、可写,文件不存在先创建,不会覆盖,追加在末尾

    展开全文
  • Java读取txt文件和写入txt文件

    万次阅读 多人点赞 2016-05-25 23:16:26
    原文: Java读取txt文件和写入txt文件写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂! package edu.thu.keyword.test; ...

    2018-10-19更新

    网友推荐更加简洁的写法,修改之后的代码;
    项目实用优化,增加java7中的try-with-resources写法

    package com.nickwong.code;
    
    import java.io.*;
    
    /**
     * Created by Nickwong on 31/07/2018.
     * 根据1-8楼的建议,优化了代码
     */
    public class ReadTxt {
    
        public static void main(String args[]) {
            readFile();
            writeFile();
        }
    
        /**
         * 读入TXT文件
         */
        public static void readFile() {
            String pathname = "input.txt"; // 绝对路径或相对路径都可以,写入文件时演示相对路径,读取以上路径的input.txt文件
            //防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw;
            //不关闭文件会导致资源的泄露,读写文件都同理
            //Java7的try-with-resources可以优雅关闭文件,异常时自动关闭文件;详细解读https://stackoverflow.com/a/12665271
            try (FileReader reader = new FileReader(pathname);
                 BufferedReader br = new BufferedReader(reader) // 建立一个对象,它把文件内容转成计算机能读懂的语言
            ) {
                String line;
                //网友推荐更加简洁的写法
                while ((line = br.readLine()) != null) {
                    // 一次读入一行数据
                    System.out.println(line);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 写入TXT文件
         */
        public static void writeFile() {
            try {
                File writeName = new File("output.txt"); // 相对路径,如果没有则要建立一个新的output.txt文件
                writeName.createNewFile(); // 创建新文件,有同名的文件的话直接覆盖
                try (FileWriter writer = new FileWriter(writeName);
                     BufferedWriter out = new BufferedWriter(writer)
                ) {
                    out.write("我会写入文件啦1\r\n"); // \r\n即为换行
                    out.write("我会写入文件啦2\r\n"); // \r\n即为换行
                    out.flush(); // 把缓存区内容压入文件
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    
    

    ##参考原文: Java读取txt文件和写入txt文件##

    写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂!

        package edu.thu.keyword.test;  
          
        import java.io.File;  
        import java.io.InputStreamReader;  
        import java.io.BufferedReader;  
        import java.io.BufferedWriter;  
        import java.io.FileInputStream;  
        import java.io.FileWriter;  
          
        public class cin_txt {  
            static void main(String args[]) {  
                try { // 防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw  
          
                    /* 读入TXT文件 */  
                    String pathname = "D:\\twitter\\13_9_6\\dataset\\en\\input.txt"; // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径  
                    File filename = new File(pathname); // 要读取以上路径的input。txt文件  
                    InputStreamReader reader = new InputStreamReader(  
                            new FileInputStream(filename)); // 建立一个输入流对象reader  
                    BufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言  
                    String line = "";  
                    line = br.readLine();  
                    while (line != null) {  
                        line = br.readLine(); // 一次读入一行数据  
                    }  
          
                    /* 写入Txt文件 */  
                    File writename = new File(".\\result\\en\\output.txt"); // 相对路径,如果没有则要建立一个新的output。txt文件  
                    writename.createNewFile(); // 创建新文件  
                    BufferedWriter out = new BufferedWriter(new FileWriter(writename));  
                    out.write("我会写入文件啦\r\n"); // \r\n即为换行  
                    out.flush(); // 把缓存区内容压入文件  
                    out.close(); // 最后记得关闭文件  
          
                } catch (Exception e) {  
                    e.printStackTrace();  
                }  
            }  
        }  
    
    展开全文
  • Python学习笔记(28)-Python读取word文本

    万次阅读 多人点赞 2017-07-17 11:36:17
    一,简介Python可以利用python-docx模块处理word文档,...二,相关概念如果需要读取word文档中的文字(一般来说,程序也只需要认识word文档中的文字信息),需要先了解python-docx模块的几个概念。1,Document对象,
  • C++读取图片

    万次阅读 多人点赞 2018-11-20 00:12:36
    C++读取图片 以C++风格(文件流)而不是C风格(FILE)读取图片。 使用到的头文件主要是fstream 参考链接: http://www.cplusplus.com/reference/istream/istream/read/ 主要用到的函数: ifstream.seekg() ...
  • java使用poi读取doc和docx文件

    万次阅读 多人点赞 2016-07-22 10:53:02
    这几天在学习java io流的东西,有一个网友... 于是在网上搜寻了一阵之后才发现原来doc文档和excel一样不能用普通的io流的方法来读取,而是也需要用poi,于是进行了一番尝试后,终于以正确的编码格式读取了这个doc文件。
  • Java中文本文件的读取(按行读取)

    万次阅读 多人点赞 2018-04-29 18:14:44
    在之前的学习过程中,经常会遇到将文本文件中的数据读取到数组或其他数据结构中。每次遇到,总是在网上搜索代码解决,解决之后并没有总结复习,因此在下一次遇到同样的问题时,又重复之前的过程。这样周而复始,并...
  • 当用pandas的read_csv函数或者是read_table函数读取文件时,如果遇到大的文件,需要分块读取,在这个基础上可以 读取指定行,比如读取标签全为0的行。 代码如下:   f = open(path + r'\train.csv') reader = ...
  • C#OPC读取数据

    千次下载 热门讨论 2013-05-17 17:23:03
    C#访问OPC读取数据 一般用于自动化编程
  • 读取data文件

    万次阅读 2018-05-06 15:31:35
    读取.data文件的时候,只能通过 with open(' ','r') as f: 进行读取,最后再保存为csv文件。该过程中通常是 1、先做a=strip().split('')处理,得到列表,但此时的a[i](i=1,2,...)是str属性, 如‘uid 130’,‘aid...
  • opencv读取中文路径

    万次阅读 2020-07-13 04:19:03
    解决opencv无法读取中文路径的问题并且增加参数使得读取图片类型与原方法相同
  • MATLAB读取文件夹下所有文件的文件名并读取数据

    万次阅读 多人点赞 2018-12-08 22:23:56
    MATLAB读取文件夹下特定类型格式文件的文件名并读取该格式文件的数据 利用代码对大量数据进行自动批处理时,首先需要获取该数据存放的文件夹(文件夹路径),然后获取该文件夹下某一类型数据所有的文件名,最后通过...
  • 【Python-数据读取读取txt文件每一行数据生成列表

    万次阅读 多人点赞 2018-10-10 22:23:57
    好多时候我们要读取txt文件获得数据,并把数据的按行或者按列存放到列表中,从而生成特征和类别标签。今天读了好几个都没有成功,最后发现,数据间的分隔符十分重要,总结一下经验。 数据间的分隔符是空格 读取的...
  • java利用反射实现文件的读取

    万次阅读 2020-10-11 00:06:56
    java反射 java从很早的版本开始就引入了反射机制,java如今的框架底层大部分也都是使用反射实现的。...首先这边先把我的读取文件的方法展示出来 这个是用到的接口类 /** * 实现该接口中的方法,本来打算在Fil
  • 用JavaScript读取和保存文件 因为Google还不提供同步插件数据的功能,所以导入和导出插件配置就必须和文件打交道了。而出于安全原因,只有IE才提供访问文件的API;但随着HTML5的到来,其他浏览器也纷纷支持了。 ...
  • c++读取TXT文件内容

    万次阅读 多人点赞 2019-07-03 14:09:07
    文件头: #include <iostream> #include <fstream> #include <cassert> ...1 逐行读取 void readTxt(string file) { ifstream infile; infile.open(file.data()); //将文件...
  • Matlab读取txt文件中的数据(使用textread函数)

    万次阅读 多人点赞 2018-04-18 22:13:45
    在使用Matlab处理数据时,我们经常需要读取txt文档,可以使用Matlab中强大的textread函数。它的基本语法是:[A,B,C,...] = textread(filename,format)[A,B,C,...] = textread(filename,format,N)其中filename就是...
  • Java 读取TXT文件的多种方式 1).按行读取TXT文件 package zc; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io....
  • c语言如何将WAV音频文件读取并存入char数组中,读入的数据要能用而不是乱码!求大神!
  • pandas 读取csv 按行读取

    千次阅读 2019-07-18 11:05:12
    import pandas as pd csvfile = open('text.csv',encoding='utf-8') ...# 按行读取保存到字典里,假设每行有三个字段,item_id,info,title dict_item_id = {} dict_info = {} dict_title = {} di...
  • Python使用pandas读取excel表格数据

    万次阅读 多人点赞 2019-04-08 16:14:04
    导入 import pandas as pd ...读取表格并得到表格行列信息 df=pd.read_excel('test.xlsx') height,width = df.shape print(height,width,type(df)) 表格如下: 得到如下输出,为一个4行5列的数据块: ...
  • 例如 0 1 2 43 4 5 先读取1行和2行,判断最大,然后读取3行和4行判断最大,接着读取5行和6行行判断最大
  • Java读取文件的方法

    万次阅读 2018-10-21 16:32:11
    读取二进制文件 读取二进制文件,并存入byte数组,如算法训练模型的二进制模型。 public byte[] readFromByteFile(String pathname) throws IOException{ File filename = new File(pathname); ...
  • python 文件读取

    万次阅读 多人点赞 2018-07-24 17:16:18
    读取整个文件 操作文件的第一步就是得打开要操作的文件,然后进行读取。在python中我们可以使用open函数来打开一个文件,然后使用read方法来读取文件。 示例: import os with open('data.txt', encoding='utf-...
  • 使用FileInputStream 读取本地文件(图片、视频、音乐、文档资料) 二进制文件、文本文件 ...当程序读取二进制文件,以字节方式读取,对读取数据的解释由读取数据而定 ,如读取图片时,需要了解文件的结...
  • C语言读取每一行文本

    万次阅读 2018-07-20 15:55:15
    C语言读取每一行文本方法:C语言读取每一行文本
  • Java读取文件

    万次阅读 2019-06-04 16:30:13
    Java读取文件 本文是基于Windows 10系统环境,学习和实现Java读取文件: Windows 10 MyEclipse 10 一、Java读取文件 (1) 代码实现 java代码 public class Demo(){ File file = new File("e:/a.txt"); //读取...
  • Spring Boot读取properties配置文件中的数据

    万次阅读 多人点赞 2018-08-23 00:09:07
    Java EE 目录:https://blog.csdn.net/dkbnull/article/details/87932809 Spring Boot 专栏:https://blog.csdn.net/dkbnull/category_9278145.html Spring Cloud 专栏:...
  • Python读取文件内容

    万次阅读 多人点赞 2018-12-18 16:27:54
    Python 读取文件内容

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 613,347
精华内容 245,338
关键字:

读取