精华内容
下载资源
问答
  • txt操作
    千次阅读
    2019-03-29 16:21:01

      C#中对txt文件进行读写操作包括两种方式,一种是基于FileInfo类,调用该类的Read方法,但是该方法读出来的数据是byte格式,需要对其进行解码,将相应的字节数转换为字符,而C#中System.Text引用就包含的解码的方法,相应代码如下所示:

    static void OpenFile(string filePath)
            {
                byte[] byteData = new byte[100];
                char[] charData = new char[1000];
                try
                {
                    FileStream fileStream = new FileStream(filePath, FileMode.Open);
                    fileStream.Seek(0, SeekOrigin.Begin);
                    fileStream.Read(byteData, 0, 100);
                    Decoder decode = Encoding.Default.GetDecoder();
                    decode.GetChars(byteData, 0, byteData.Length, charData, 0);
                    Console.WriteLine(charData);
                    fileStream.Close();
                }
    
                catch(IOException e)
                {
                    Console.WriteLine(e.ToString());
                }
            }

      另一种读取方式是在FileInfo的基础上,使用StreamReader进行数据读取,使用这种方法不需要对数据在进行解码,因为该类在进行读取的时候已经完成的数据的解码,相应代码如下所示:

     //open file with SteamReader
            static void OpenFileWS(string filePath)
            {
                FileStream fileStream = new FileStream(filePath, FileMode.Open);
                StreamReader sr = new StreamReader(fileStream);
                string line;
                while((line=sr.ReadLine())!=null)
                {
                    Console.WriteLine(line.ToString());
                }
            }

      相应的对txt文件的写操作也包括两种,一种是基于FileInfo,如果写入的是字符串数据,需要预先对其进行编码,而后才能进行写入操作,代码如下所示:

       //Write file with filesteam
            static void WriteFS(string filePath)
            {
                FileStream fs = new FileStream(filePath, FileMode.Create);
                byte[] byteData = Encoding.Default.GetBytes("Hello World");
                try
                {
                    fs.Write(byteData, 0, byteData.Length);
                    fs.Flush();
                    fs.Close();
                    Console.WriteLine("Writing has been completed");
                }
                catch(IOException e)
                {
                    Console.WriteLine(e.ToString());
                }           
            }

      而另外一种则是在FileInfo基础上,使用StreamWriter类,该种方法不需要经过编码便可直接将数据写入文本,因为该类的写操作中就包括了编码,相应代码如下:

    //Write file with steamwrite
            static void WriteWS(string filePath)
            {
                FileStream fs = new FileStream(filePath, FileMode.Create);
                StreamWriter sw = new StreamWriter(fs);
                try
                {
                    sw.WriteLine("Hello World!");
                    sw.Flush();
                    sw.Close();
                    fs.Close();
                    Console.WriteLine("Writing has been completed");
                }
                catch (IOException e)
                {
                    sw.Flush();
                    sw.Close();
                    fs.Close();
                    Console.WriteLine(e.ToString());
                }
            }

     

    更多相关内容
  • python之txt文件基本操作

    千次阅读 2021-09-16 18:52:01
    a : 写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾 rb,wb: 分别于r,w类似,但是用于读写二进制文件 r+ : 可读、可写,文件不存在也会报错,写操作时会覆盖 w+ : 可读,可写,文件...

    1. 读取txt文本内容

    python常用的读取文件函数有三种read()、readline()、readlines()

    1.1 read()

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

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

    1.2 readline()

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

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

    1.3 readlines()

    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)
    

    2. 写入txt文本

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

    2.1 读写模式

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

    • r : 读取文件,若文件不存在则会报错
    • w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件
    • a : 写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾
    • rb,wb: 分别于r,w类似,但是用于读写二进制文件
    • r+ : 可读、可写,文件不存在也会报错,写操作时会覆盖
    • w+ : 可读,可写,文件不存在先创建,会覆盖
    • a+ : 可读、可写,文件不存在先创建,不会覆盖,追加在末尾

    2.2 读取txt文件的若干行写入另一个txt

    file_path_1 = './data/1.txt'
    file_path_2 = './data/2.txt'
    
    fp_1 = open(file_path_1, 'rb')
    fp_2 = open(file_path_2, 'ab')
     
    line_id = 0
    while True:
        line_data = fp_1.readline()
        # print('line_data:', line_data)
        line_id = line_id + 1
        
        if line_id>=1 and line_id<=50:
            print('line_id:', line_id)
            fp_2.write(line_data)
        else:
            break
            
    fp_1.close() # 文件关闭, 若不关闭可能会导致部分写入数据丢失
    fp_2.close() # 文件关闭, 若不关闭可能会导致部分写入数据丢失
    

    3. 其他使用

    3.1 删掉指定字符前/后的内容

    如下所示, 我们想删除右括号 ] 左边的内容, 得到 Today is Wednesday

    line_data = '2021-09-01 [] Today is Wednesday'
    head, sep, tail = line_data.partition('] ')
    print(tail)
    

    输出结果如下所示:

    Today is Wednesday
    

    3.2 csv文件存为txt

    使用df.to_csv()不仅可以存储CSV文件, 还可以存储TXT文件:

    import pandas as pd
    
    df = pd.read_csv('./data/test.csv', header=None)
    df.to_csv('./data/test.txt', sep=' ', header=None, index=None) # sep=' ' 分隔符为空格
    

    3.3 numpy读写txt

    3.3.1 np.savetxt()
    numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)[source]
    
    • fname:表示要保存文件的地址,可以自己建文件名,如‘test.txt’
    • X:表示要保存的文件
    • fmt:控制数据存储的格式
    • delimiter :分隔符,默认空格,也可以用逗号等
    • newline:表示换行的时候用什么,默认\n,表示换一行,也可以用\t,则表示空四格
    • header:表示头文件,如“test_data"
    • footer: 文件下的脚注
    • comment:注释,默认是#,因为python的注释是#,也可以用其它符号

    样例代码如下:

    import numpy as np 
    #生成数据 
    x = y = z = np.ones((2,3)) 
    x 
    >>> array([[1., 1., 1.], 
           [1., 1., 1.]]) 
            
    #保存数据 
    np.savetxt('test.out', x) 
    np.savetxt('test1.out', x, fmt='%d') 
    np.savetxt('test2.out', x, delimiter=',') 
    np.savetxt('test3.out', x, newline='a') 
    np.savetxt('test4.out', x, delimiter=',',newline='a') 
    np.savetxt('test5.out', x, delimiter=',',header='abc') 
    np.savetxt('test6.out', x, delimiter=',',footer='abc') 
    
    3.3.2 np.loadtxt()
    numpy.loadtxt(fname, dtype=<class 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes')
    
    • fname:文件名/文件路径,如果文件后缀是.gz或.bz2,文件将被解压,然后再载入
    • dtype:要读取的数据类型
    • comments:文件头部或者尾部字符串的开头字符,用于识别头部,尾部字符串
    • delimiter:划分读取上来值的字符串
    • converters:数据行之间的分隔符

    样例代码如下:

    np.loadtxt('test.out') 
    np.loadtxt('test2.out', delimiter=',') 
    
    展开全文
  • java对文件的加密和解密(txt操作

    千次阅读 2019-06-28 11:14:12
    一,加密部分 public static void encrypt(String fileUrl, String key) throws Exception { File file = new File(fileUrl);... decrypt(path,"E:/4evercai/2.txt","4evercai".length());//解密 }  

    一,加密部分

     public static void encrypt(String fileUrl, String key) throws Exception {  
            File file = new File(fileUrl);  
            String path = file.getPath();  
            if(!file.exists()){  
                return;  
            }  
            int index = path.lastIndexOf("\\");  
            String destFile = path.substring(0, index)+"\\"+"abc";  
            File dest = new File(destFile);  
            InputStream in = new FileInputStream(fileUrl);  
            OutputStream out = new FileOutputStream(destFile);  
            byte[] buffer = new byte[1024];  
            int r;  
            byte[] buffer2=new byte[1024];  
            while (( r= in.read(buffer)) > 0) {  
                for(int i=0;i<r;i++)  
                {  
                    byte b=buffer[i];  
                    buffer2[i]=b==255?0:++b;  
                }  
                out.write(buffer2, 0, r);  
                out.flush();  
            }  
            in.close();  
            out.close();  
            file.delete();  
            dest.renameTo(new File(fileUrl));  
            appendMethodA(fileUrl, key);  
            System.out.println("加密成功");  
        }  

    二,解密部分

    /** 
         * 解密 
         * @param fileUrl 源文件 
         * @param tempUrl 临时文件 
         * @param ketLength 密码长度 
         * @return 
         * @throws Exception 
         */ 
        public static String decrypt(String fileUrl, String tempUrl, int keyLength) throws Exception{  
            File file = new File(fileUrl);  
            if (!file.exists()) {  
                return null;  
            }  
            File dest = new File(tempUrl);  
            if (!dest.getParentFile().exists()) {  
                dest.getParentFile().mkdirs();  
            }  
       
            InputStream is = new FileInputStream(fileUrl);  
            OutputStream out = new FileOutputStream(tempUrl);  
       
            byte[] buffer = new byte[1024];  
            byte[] buffer2=new byte[1024];  
            byte bMax=(byte)255;  
            long size = file.length() - keyLength;  
            int mod = (int) (size%1024);  
            int div = (int) (size>>10);  
            int count = mod==0?div:(div+1);  
            int k = 1, r;  
            while ((k <= count && ( r = is.read(buffer)) > 0)) {  
                if(mod != 0 && k==count) {  
                    r =  mod;  
                }  
       
                for(int i = 0;i < r;i++)  
                {  
                    byte b=buffer[i];  
                    buffer2[i]=b==0?bMax:--b;  
                }  
                out.write(buffer2, 0, r);  
                k++;  
            }  
            out.close();  
            is.close();  
            return tempUrl;  
        }  

    四,密钥

     /** 
         *  
         * @param fileName 
         * @param content 密钥 
         */ 
        public static void appendMethodA(String fileName, String content) {  
            try {  
                // 打开一个随机访问文件流,按读写方式  
                RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");  
                // 文件长度,字节数  
                long fileLength = randomFile.length();  
                //将写文件指针移到文件尾。  
                randomFile.seek(fileLength);  
                randomFile.writeBytes(content);  
                randomFile.close();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  

    五,判断是否加密

     public static String readFileLastByte(String fileName, int keyLength) {  
            File file = new File(fileName);  
            if(!file.exists())return null;  
            StringBuffer str = new StringBuffer();  
            try {  
                // 打开一个随机访问文件流,按读写方式  
                RandomAccessFile randomFile = new RandomAccessFile(fileName, "r");  
                // 文件长度,字节数  
                long fileLength = randomFile.length();  
                //将写文件指针移到文件尾。  
                for(int i = keyLength ; i>=1 ; i--){  
                    randomFile.seek(fileLength-i);  
                    str.append((char)randomFile.read());  
                }  
                randomFile.close();  
                return str.toString();  
            } catch (IOException e) {  
                e.printStackTrace();    
            }    
            return null;  
        }  

    六,测试

     public static void main(String[] args) throws Exception {  
            String path = "E:/4evercai/1.txt";    
            encrypt(path,"4evercai");  //加密    
            decrypt(path,"E:/4evercai/2.txt","4evercai".length());//解密  
        }  

     

    展开全文
  • MFC下txt文件的读写操作

    千次阅读 2019-02-11 17:02:23
    详细说明请看如下链接: ...头文件中包含: #include &lt;locale&gt;//为了使用setlocale(LC_CTYPE, "...便于输入中文到txt中 写文件代码如下: void CReadWriteTxtDlg::OnBnClickedButton1() ...

    详细说明请看如下链接:
    https://blog.csdn.net/u012987386/article/details/71089178

    头文件中包含:

    #include <locale>//为了使用setlocale(LC_CTYPE, "chs");便于输入中文到txt中
    

    写文件代码如下:

    void CReadWriteTxtDlg::OnBnClickedButton1()
    {
    	// TODO: 在此添加控件通知处理程序代码
    	CString filename = _T(".\\Test.txt");//在本例中路径为:E:\work\BruceXu\CodeRelevant\mytestcode\读写txt\ReadWriteTxt\ReadWriteTxt\Test.txt
    	CString strWriteData;
    	strWriteData.Format(_T("测试写入数据。\n\r"));
    	CStdioFile csFile;
    	CFileException cfException;
    	if (csFile.Open(filename, CFile::typeText | CFile::modeCreate | CFile::modeReadWrite | CFile::modeNoTruncate, &cfException))//以txt方式读取|若没有文件则创建该文件|文件打开时不清除
    	{
    		csFile.SeekToEnd();
    		setlocale(LC_CTYPE, "chs");//为了能用csFile.WriteString(strWriteData)写入中文
    		csFile.WriteString(strWriteData);
    	}
    	csFile.Close();
    }
    

    程序运行结果如下:
    点击3次“写入文字”按钮之后,会在txt中多出3行文字
    在这里插入图片描述

    展开全文
  • // 读取操作 vector&lt;Point3f&gt; w3Point; vector&lt;Point2f&gt; uvSL;  float tempx=0.0, tempy=0.0;  FILE *fp;    errno_t err = fopen_s(&amp;fp, "cvSideCenter.txt",...
  • vb txt文件操作

    热门讨论 2009-04-15 19:29:02
    vb txt文件操作。有两个程序,分别是txt文件中内容传输到vb程序中和vb程序中输入的数据传输到txt文件中。 txt文件传输到vb程序中,分的情况比较多。
  • codesys读取文件的内容 智慧与美貌并存的小编又来了 今天分享文件操作的读取功能 文件的写功能见上篇博客点击codesys工程ST语言学习笔记(二)写文件操作与添加库方法 首先我们展示一些codesys的库文件 功能 变量 ...
  • 需要设置一个文件指针用来对文本文件进行操作,一共有12个形式分别为 (r,w,a,r+,w+,a+)文本文件 (rb,wb,ab,rb+,wb+,ab+) 二进制文件 具体资料可以看这个网址...
  • python处理txt文件的常用操作

    万次阅读 多人点赞 2020-04-07 22:06:59
    f = open("data.txt","r") f.close() #方法2,使用文件后自动关闭文件 with open('data.txt',"r") as f: 打开文件的模式主要有,r、w、a、r+、w+、a+ r:以读方式打开文件,可读取文件信息。 w:以写方式打开...
  • 对文本.txt进行列操作

    千次阅读 2021-03-09 14:32:19
    对文本.txt进行列操作,其他的如有相同,可以后续补充 将鼠标光标放到将要操作的位置,使用快捷键Shift+Alt进行操作即可
  • C#操作读写文本文件txt

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

    千次阅读 2020-11-23 15:46:07
    文件打开的两种方式:1.f = open("data.txt","r") #设置文件对象f.close() #关闭文件2.#为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代with open('data.txt',"r") as f: #设置文件对象str = f.read...
  • 一、文件的打开和创建>>> f = open('/tmp/test.txt')>>> f.read()'hello python! hello world! '>>> f二、文件的读取步骤:打开 -- 读取 -- 关闭>>> f = open('/tmp/test.txt')>>> f.read()'hello python! hello ...
  • cmd操作txt文件

    千次阅读 2020-05-11 14:31:53
    echo 文本内容 >> 文本文件保存的位置和文件名 echo 1111 >> d:\1.txt
  • c++对txt文件读取操作+实例代码

    万次阅读 多人点赞 2018-05-30 23:04:36
    因c++文件操作一直要用,所以就特此写一篇博客来记录一下c++对txt文件的读取操作。1.c++文件流:fstream //文件流ifstream //输入文件流ofstream //输出文件流2.文件路径的表示文件路径的表示可以分为绝对路径和相对...
  • 文件操作模式表: ‘r’ 读取模式(默认值) ‘w’ 写入模式 ‘x’ 独占写入模式 ‘a’ 附加模式 ‘b’ 二进制模式(与其他模式结合使用) ‘t’ 文本模式(默认值,与其他模式结合使用) ‘+’ 读写...
  • python txt文件常用读写操作

    千次阅读 2022-02-10 08:16:57
    python txt文件常用读写操作 文件的打开的两种方式 复制代码 f = open("data.txt","r") #设置文件对象 f.close() #关闭文件 #为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代 with open('data....
  • C++读写txt文件(基本操作1)

    万次阅读 多人点赞 2017-11-30 17:49:02
    本博客主要写了用C++读写txt本文的基本操作,最简单的写入和读出两个基本操作。 本程序的功能是向Test.txt文件文件写入字符串"This is a Test12!"和读取字符串"This is a Test12!",并且将读取到的字符串存到temp...
  • python操作txt文件中数据教程[1]-使用python读写txt文件

    千次阅读 多人点赞 2018-11-26 17:57:20
    python操作txt文件中数据教程[1]-使用python读写txt文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果 程序实现 filename = './test/test.txt' contents = [] DNA_sequence = [] #...
  • Java对txt文件内容的增删该查操作

    千次阅读 多人点赞 2019-04-05 10:12:45
    在之前文章中介绍了怎样在java中实现对txt文档的读取和写入的操作,并且可以通过保存为json格式方便数据的使用,但是如果需要对txt中的数据修改或删除操作,通常的做法是通过读取操作,将所有的数据读取出来放在一个...
  • 1、准备.txt的数据文件 2、pandas.read_csv()语法: 3、使用Pandas读取用英文逗号“,”分隔的.txt文件,sep=','可以省略 4、使用Pandas读取其他分割符的.txt文件,sep='分隔符'写清楚 5、使用Pandas读取.txt文件...
  • Java IO操作-按行读取txt文本文件

    千次阅读 2019-10-17 17:45:29
    Java IO操作-按行读取txt文本文件 文章目录Java IO操作-按行读取txt文本文件0.前言1.将txt文本文件按照UTF-8格式存储2.按行读取代码实现3.运行效果4.字符串提取单词txt百度网盘下载(无提取码) 0.前言 同学安卓课设想...
  • C#winForm对txt文件的读写操作

    千次阅读 2020-10-31 09:09:50
    FileStream对象表示在磁盘或网络路径上指向文件的流(即用于指向要操作的文件) 在FileStream的基础上,使用StreamReader或StreamWriter实现文件的读写(字节方式) FileStream 对象 = new FileStream(st
  • MFC对TXT文档的操作—读、写、删、查

    万次阅读 多人点赞 2017-12-07 00:23:12
    MFC实现对TXT文档的“读”“写”“删”“查‘操作
  • DOS命令对txt文件的操作

    千次阅读 2018-12-07 18:06:22
    1、创建txt文件 语法:type nul&gt;文件名.txt 例如:type nul&gt;MyFile.txt   2、编辑txt文件内容 语法:echo 内容&gt;文件名.txt echo 追加内容&gt;&gt;文件名.txt 例如:echo aaa&...
  • pandas操作txt文件的方便之处

    万次阅读 2018-06-24 17:42:00
    有时候到手的数据基本是固定分隔符分隔的几个文件,需要重里面做一些数据统计,比如去重,计算某一列的和,两个文件的并集等等,如果能够像sql一样操作txt文件就好了,这就是pandas带来的好处 如何加载txt文件? ...
  • 在win10系统中,有着我们所熟悉的一些...下面小编就来告诉大家win10系统txt文件改成bat操作方法。具体方法:方法一:1、打开txt本文文档,点击【文件】-【另存为】;2、在另存界面将底部的【保存类型】修改为【所有...
  • python 读txt文件,按‘,’分割每行数据操作,文件,字符串,目录,路径,列表python 读txt文件,按‘,’分割每行数据操作易采站长站,站长之家为您整理了python 读txt文件,按‘,’分割每行数据操作的相关内容。按行读取TXT...
  • 汇编语言: txt文件操作

    千次阅读 2017-06-05 19:49:20
    默认目录下存在 test.txt data segmentfile db 'test.txt',0 buf db 100 dup(?) fh dw ? error_msg db 0dh,0ah,'error!','$' success_msg db 0dh,0ah,'done!','$' data endsstack segment stack dw 20h dup(?) top ...
  • python对txt文本文件进行读写操作

    千次阅读 2019-09-10 15:26:34
    txt文本文件进行操作是Python与外部进行交流的一种方式,可以将计算过程生成的数据存放到txt文本文件中进行保存,也可以读取文本文件中的内容进行操作。 文件的读写需用到open函数。 open函数模式分为如下几种: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,109,862
精华内容 443,944
关键字:

txt操作

友情链接: cooking01.zip