精华内容
下载资源
问答
  • Java向文件写数据的3种方式

    千次阅读 2020-07-14 17:29:32
    Java向文件写数据的3种方式 下边列举出了三种文件中写入数据的方式,当然还有其他方式,帮助自己理解文件写入类的继承关系。类的关系: file->fileoutputstream->outputstreamWriter(FileWriter继承...

    Java向文件写数据的3种方式

    下边列举出了三种向文件中写入数据的方式,当然还有其他方式,帮助自己理解文件写入类的继承关系。类的关系:
    file->fileoutputstream->outputstreamWriter(FileWriter继承outputstreamWriter对象)
    测试代码:

    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    
    /**
     * 测试向文件中写文件
     * 
     * @author lenovo
     * 
     */
    public class TestWirteFile {
    
        /**
         * @param args
         * @throws IOException
         */
        public static void main(String[] args) throws IOException {
            String sContent = "2015年的双十一真的是非常火爆!";
            String sDestFile = "F:/myWrite.txt";
            File destFile = new File(sDestFile);
            if (!destFile.exists()) {
                destFile.createNewFile();
            }
    
            // 1.向文件写入内容
            // writeByFileWrite(sDestFile, sContent);
    
            // 2.FileOutputStream向文件写入内容
            // writeByFileWrite(sDestFile, sContent);
    
            // 2.OutputStreamWriter向文件写入内容
            writeByOutputStreamWrite(sDestFile, sContent);
        }
    
        /**
         * 用FileWrite向文件写入内容
         * 
         * @param _destFile
         * @throws IOException
         */
        public static void writeByFileWrite(String _sDestFile, String _sContent)
                throws IOException {
            FileWriter fw = null;
            try {
                fw = new FileWriter(_sDestFile);
                fw.write(_sContent);
            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
                if (fw != null) {
                    fw.close();
                    fw = null;
                }
            }
        }
    
        /**
         * 用FileOutputStream向文件写入内容
         * 
         * @param _destFile
         * @throws IOException
         */
        public static void writeByFileOutputStream(String _sDestFile,
                String _sContent) throws IOException {
            FileOutputStream fos = null;
            try {
                fos = new FileOutputStream(_sDestFile);
                fos.write(_sContent.getBytes());
            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
                if (fos != null) {
                    fos.close();
                    fos = null;
                }
            }
        }
    
        /**
         * 用OutputStreamWrite向文件写入内容
         * 
         * @param _destFile
         * @throws IOException
         */
        public static void writeByOutputStreamWrite(String _sDestFile,
                String _sContent) throws IOException {
            OutputStreamWriter os = null;
            FileOutputStream fos = null;
            try {
                fos = new FileOutputStream(_sDestFile);
                os = new OutputStreamWriter(fos, "UTF-8");
                os.write(_sContent);
            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
                if (os != null) {
                    os.close();
                    os = null;
                }
                if (fos != null) {
                    fos.close();
                    fos = null;
                }
    
            }
        }
    
    }
    
    展开全文
  • 关于matlab向文件写入数据的方法

    万次阅读 多人点赞 2017-05-20 16:36:46
    MATLAB数据采集的时候,往往需要把得到的数据保存下来。fid = fopen(文件名,‘打开方式’);说明:fid用于存储文件句柄值,如果fid&... ‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。 ‘...

          MATLAB数据采集的时候,往往需要把得到的数据保存下来。

    fid = fopen(文件名,‘打开方式’);

    说明:fid用于存储文件句柄值,如果fid>0,这说明文件打开成功。打开方式有如下选择: 
    ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。 
    ‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。 
    ‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。 
    ‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。 
    ‘a’:在打开的文件末端添加数据。文件不存在则创建。 
    ‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。 
    另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。

    一、如果只是单纯的一个变量,可以像下面这样写。g2ggg是文件命名,txt文件(当然可以改成其他文件格式),这个是matlab自动保存在工作文件下的,baocun是我们要保存的变量。%d代表整数,、\r\n 代表每写入一次数据换行。

    fid = fopen('g2ggg.xls','a');
    fprintf(fid,'%d \t ',baocun); 
    fprintf(fid,'\r\n');  % 换行
    fclose(fid);
    其中:

    fid = fopen('g2ggg.xls','a');

    这句里面的‘a’代表后续写入。这样每次重新运行程序都不会替换之前保存的数据,还是保存在之前保存过的文件夹里面,接着之前的数据继续保存。

    但是如果这个地方是‘w’,则代表写入,它写一次数据都会覆盖之前的数据,最后你会发现txt文件里面只保存了一个数据。除非你在程序中定义一个矩阵,把这些数据每次存在矩阵里面,到最后一次性保存这个矩阵,这些数据才会全部保存下来,但是切记你这次保存前的那个txt文件夹会被这次这个文件夹替换,除非你这次文件夹命名和上次不同。

    二、如果是保存矩阵,可像下面这样写。save_data是文件命名,txt文件,这个是matlab自动保存在工作文件下的,baocun是我们要保存的矩阵。%d代表整数,、\r\n 代表每写入一次数据换行。

    fid = fopen('save_data.txt','a');
    [r,c]=size(baocun);
    for i=1:r
    for j=1:c
    fprintf(fid,'%5f\t',baocun(i,j));
    end
    fprintf(fid,'\r\n');
    end
    fclose(fid);   

    其中 :

    fid = fopen('save_data.txt','a');
    这句里面的‘a’代表后续写入。这样每次重新运行程序都不会替换之前保存的数据,还是保存在之前保存过的文件夹里面,接着之前的数据继续保存。

    但是如果这个地方是‘w’,则代表写入,它每写一次数据都会覆盖之前的数据,最后你会发现txt文件里面只保存了一个数据。除非你在程序中定义一个矩阵,把这些矩阵每次存在定义的这个矩阵里面,到最后一次性保存这个矩阵,这些数据才会全部保存下来,但是切记你这次保存前的那个txt文件夹会被这次这个文件夹替换,除非你这次文件夹命名和上次不同。


    三、前面两种情况都是matlab自动保存的工作路径下的,如果我们需要matlab自动保存在指定路径下怎么办呢?可以像下面这样写:

    fid = fopen('C:\Users\Desktop\g2ggg.txt','a');  
    fprintf(fid,'%d,%d,%d \r\n ',baocun);
    其中

    C:\Users\Desktop\
    代表保存路径,这里保存在电脑桌面。

    四、如果需要手动输入保存路径,可以像这样写:
    [FileName,PathName]=uiputfile({'*.txt','Txt Files(*.txt)';'*.xls','Excel(*.xls)';'*.*','All Files(*.*)'},'choose a File');  %% pathname获取保存数据路径, filename获取保存数据名称
    if ~FileName
    return;
    else
    str= [PathName,FileName];
    fid = fopen(char(str), 'w');   % 要想存的文件名是自己输入的,这个地方就得这样写
    fwrite(fid, '', 'integer*4');
    [r,c]=size(baocun);            % 得到矩阵的行数和列数
     for i=1:r
      for j=1:c
      fprintf(fid,'%d\t',baocun(i,j));
      end
      fprintf(fid,'\r\n');
     end
    fclose(fid);
    一般这样都是采集完成后由手工保存的,在这里保存的是矩阵,因为矩阵里面记录了之前每次的数据,所以采集完成后,一次性保存矩阵就可以保存所有数据了,一般这段代码在GUI里面添加按钮的回调函数里面。每次按下按钮就会弹出窗口让输入文件名以及选择保存路径。
    这里增加了这段代码,又修改了一小部分代码,认真看就知道了。
    [FileName,PathName]=uiputfile({'*.txt','Txt Files(*.txt)';'*.xls','Excel(*.xls)';'*.*','All Files(*.*)'},'choose a File');  %% pathname获取保存数据路径, filename获取保存数据名称
    if ~FileName
    return;
    else
    str= [PathName,FileName];
    fid = fopen(char(str), 'w');   

    五、如果有需要保存字符串数组的话:
    baocun={'R','G','B','Xdata'};  
    这个是包含字符串的数组baocun,
    fid = fopen('save_data.txt','a');
     fwrite(fid, '', 'integer*4');
     for n=1:4
     fprintf(fid,'%s\t',char(baocun{n}));    %   \t表示空格
     end
     fprintf(fid,'\r\n');   %换行
     fclose(fid);

    很多东西都是举一反三,多动脑,多尝试,实在没办法就上网找答案,一般都能找到。





    展开全文
  • Python 实时向文件写入数据(附代码)

    万次阅读 多人点赞 2019-02-18 23:18:23
    Python 实时向文件写入数据(附代码) ​ 之前在做数据分析的过程中,需要对数据进行实时的写入,比如对新生成的数据写入之前已经生成的txt或csv文件中。现在想想其实很简单,所以做一个总结。 1:实时csv文件写入...

    Python 实时向文件写入数据(附代码)

    ​ 之前在做数据分析的过程中,需要对数据进行实时的写入,比如对新生成的数据写入之前已经生成的txt或csv文件中。现在想想其实很简单,所以做一个总结。

    1:实时向csv文件写入数据

    ​ 假设需要生成一张csv表,里面的字段对应一些数据,由于后续的过程中,不止一次写入数据,那么安全的做法是:

    1. 首先写入字段;
    2. 然后写入数据(否则字段也会每次被写入)

    步骤1:创建文件并写入字段

    import csv
    
    with open("test3.csv","a",newline='') as csvfile: 
        writer = csv.writer(csvfile, delimiter=' ')
        writer.writerow(["index","a_name","b_name"])
    

    上述代码参数解释:

    ​ test3.csv表示要创建一个test3.csv的文件,注意:如果当前目录下没有这个文件,则会自动生成test3.csv文件,如果当前目录下已经有了test3.csv的文件,那么在新建结束后,会将原始的test3.csv文件覆盖。

    ​ "a"表示导入的数据不会讲test3.csv文件中的原始数据覆盖,即:在后面继续添加,如果需要覆盖,则将"a"改成"w"即可。

    ​ newline=’ ’ 表示不会以空行作为每一行的分割线,注意:这一行代码必须添加上,否则csv文件中的每一行数据的前面会出现空行。

    步骤2:写入数据

    list1=[0,0,0]
    list2=[1,1,1]
    
    data_array=[[5,5,5],[1,2,3]]
    with open("test3.csv","a",newline='') as csvfile: 
        writer = csv.writer(csvfile)
        # 多行写入用writerows
        writer.writerows(data_array)
    
        # 单行逐个写入用 writerow
    #     writer.writerow(list1)
    #     writer.writerow(list2)
        
        # 执行添加数据操作之后,要写close关闭,否则下次无法再次插入新的数据
        csvfile.close()
    

    ​ 实时写入数据时,有可能是逐个写入,也可能是一次性写入多个数据。多行写入用writerows,

    单行逐个写入用 writerow,根据需求调整。close()这行代码一定要加上,否则下次无法再次插入新的数据。

    运行结果:
    在这里插入图片描述

    再次逐个写入,代码:

    list1=[0,0,0]
    list2=[1,1,1]
    
    data_array=[[5,5,5],[1,2,3]]
    with open("test3.csv","a",newline='') as csvfile: 
        writer = csv.writer(csvfile)
        # 写入多行用writerows
    #     writer.writerows(data_array)
    
    #     写入单行用 writerow
        writer.writerow(list1)
        writer.writerow(list2)
        
        # 执行添加数据操作之后,要写close关闭,否则下次无法再次插入新的数据
        csvfile.close()
    

    运行结果:
    在这里插入图片描述
    结果显示,逐个添加数据成功。

    在这里插入图片描述

    注意的地方

    如果不是逐行写入,而是直接将数组一次性写入到csv文件中(相当于多行写入),则上述代码中改用writerows即可

    2:实时向txt文件写入数据

    实时向txt文件写入内容的过程,与创建csv文件,实时向文件写入内容大致相同,只需要添加一个换行符就行。

    代码:

    with open ('testing.txt','a') as f:
        f.write('%s       %s      %s'%('姓名','国籍','金额'))
    

    运行结果:
    在这里插入图片描述
    结果生成了一个testing.txt的文件。

    再次向txt文件中写入数据:

    代码:

    with open ('testing.txt','a') as f:   
        f.write('\n')     #换行
        f.write('%s       %s      %d' %('张三','中国',2000))
    

    运行结果:在这里插入图片描述
    结果显示,已经将数据写入txt文件中。

    展开全文
  • 因为,在向文件写数据时,是先将数据输出到缓冲区,待缓冲区充满后才正式输出文件。如果当数据未充满缓冲区而程序结束运行,就有可能使缓冲区的数据丢失,要用fclose函数关闭文件,先把缓冲区中的数据输出到磁盘文件...

     如果不关闭文件将会丢失数据。因为,在向文件写数据时,是先将数据输出到缓冲区,待缓冲区充满后才正式输出文件。如果当数据未充满缓冲区而程序结束运行,就有可能使缓冲区的数据丢失,要用fclose函数关闭文件,先把缓冲区中的数据输出到磁盘文件,然后才撤销文件信息区。有的编译系统在程序结束前会自动先将缓冲区中的数据写到文件,从而避免了这个问题,但还是应当养成在程序终止前关闭所有文件的习惯。fclose函数也带回一个值,当成功地执行了关闭操作,则返回值0;否则返回EOF(-1);

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include<stdlib.h>
    int main()
    {
        int i;
        int ret_val_fwrite;
        float stu[922] = { 8.345,12.78,13.45};
        float stu2[922] = { 1 };
        FILE *fp;
        if ((fp = fopen("E:\\float_save_test.dat", "wb")) == NULL)
        {
           printf("打开文件失败\n");
           exit(0);
        }
        if ((ret_val_fwrite=fwrite(stu, sizeof(float), 922, fp)) != 922)
        {
            printf("write file error\n");
        }
    fclose(fp);//此处如果不调用fclose(fp),关闭文件指针会导致数据丢失,而无法把数据保存到“E:\\float_save_test.dat”中。
                    //打开float_save_test.dat文件,会发现是空的。

    if ((fp = fopen("E:\\float_save_test.dat", "rb")) == NULL)
    {
        printf("打开文件失败\n");
        exit(0);
    }
    fread(stu2, sizeof(float), 922, fp);
    for (i = 0; i < 922; i++)
    {
        printf("%f\n", stu2[i]);
    }
    fclose(fp);
    return 0;
    }

    展开全文
  • //已创建的文件写入数据 public void print(String str) { FileWriter fw = null; BufferedWriter bw = null; String datetime = ""; try { SimpleDateFormat tempDate = new SimpleDateFormat(...
  • java向文件写数据的3种方式

    万次阅读 2010-06-18 19:53:00
    java 文件 方法
  • vc++txt文件写入数据,追加数据

    千次阅读 2015-11-18 15:04:20
    VC向文件写入数据,在不改变原来文件中的内容的 情况之下,继续添加文件,函数fopen的参数的书写。和向文件写入数据的函数fprintf函数。
  • (Python)利用pandas一个csv文件追加写入数据

    万次阅读 多人点赞 2018-07-26 23:05:27
    我们越来越多的使用pandas进行数据处理,有时需要一个已经存在的csv文件写入数据,传统的方法之前我也有些过,txt,excel文件写入数据,传送门:Python将二维列表(list)的数据输出(TXT,Excel)  pandas to...
  • 前面介绍过获取系统当前工作目录的方法,在此基础上,可以完成对配置文件的操作。...在程序中当前只能设定一种颜色,但如果将这三个参数写入配置文件中,那么颜色的组合就有256*256*256种组合,包含了所有人
  • 有时需要一个已经存在的csv文件写入数据,传统的方法之前我也有些过,txt,excel文件写入数据,传送门:Python将二维列表(list)的数据输出(TXT,Excel)pandas to_csv()只能在新文件写数据?当然不是!pandas...
  • C++向文件写入数据

    千次阅读 2014-12-30 18:43:01
     //否则将导致文件打不开 fileOpen.open(path,ofstream::app); if(!fileOpen) { cout没有打开文件!"; fileOpen.close(); return 0; } char buf[10]={'I','L','o','v','e','y','o','u',...
  • PHp向文件写入数据

    千次阅读 2016-04-13 17:32:40
    $cars=array("Volvo","BMW","Toyota"); // $car=json_encode($cars); $file=fopen("welcome.txt","w+");//在文件开头开始,在这个地方我知道的 // 使用fopen函数打开一个文件 ...echo "error:打开文件错误,请...//
  • fwrite文件写入数据

    千次阅读 2019-03-27 22:15:00
    :就是将程序中的数据写入文件中,去更新文件。 这么两种操作归到代码中就是这两种函数:一组是函数,一组是读函数。 读和是成对出现的,fwrite和fread是一对,fputs和fgets 是一对。这里所说的一对的...
  • 使用FileWriter向文件写入数据

    千次阅读 2019-07-05 14:41:40
    import java.io.FileWriter; import java.io.IOException; import java.io.Writer;...//使用FileWriter文本文件信息 public class Test { public static void main(String[] args) { // 1.创建流...
  • C++文件操作(.txt文件写入数据

    万次阅读 2018-08-23 15:55:39
    本文讲解的是.exe同一目录下的data文件夹下的log.txt写入数据。 1.相对路径概念  假若.exe所在路径是E:\projects\logout\log\Debug。 1.1向上一级目录指向  ./ 表示当前路径,相当于E:\projects\logout\log\...
  • Python 将数据写入CSV文件

    万次阅读 多人点赞 2019-04-27 14:30:50
    python 将数据写入csv文件 1 介绍CSV 逗号分隔值(Comma-Separated Values,CSV,也称为字符分隔值,分隔字符也可以不是逗号)。 保存形式 其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该...
  • java.io,PrintWriter可以用来创建一个文件本文文件写入数据PrintWriter(String filename); PrintWriter(File file);<!--创建一个指定文件的新的PrintWriter--> PrintWriter(OutoutStream out); PrintWriter...
  • VBA 向文件写入编码为UTF-8的数据

    万次阅读 2017-06-16 19:50:26
    VBA 向文件写入编码为UTF-8的数据
  • C#已存在excel文件写入数据 一直报这个错误怎么解决。 还有没有别的写入方法
  • VBA 向文件写入简单数据(默认编码为ANSI或者Unicode)
  • java写入数据文件

    万次阅读 2018-05-11 10:06:46
    以字节流的形式向文件写入数据 中的例子,当666.txt不存在的时候,是会自动创建666.txt文件的。但是,如果是写入数据到E:/file/LOL/666.txt,而目录LOL又不存在的话,就会抛出异常。那么怎么自动创建LOL目录?字符...
  • 这篇文章主要介绍了PHP创建文件,并向文件写入数据,覆盖,追加的实现代码,需要的朋友可以参考下: 创建文件我们用到函数 fopen ( string filename, string mode ) 参数filename为创建文件名 参数mode为以什么方式...
  • 循环一个文件写入100行数据 采用C#编码,作为测试使用,欢迎下载。
  • 很早的在linux系统下的文件读写操作,写入数据文件,很时候初学者学习 #include int writeInfoToFile(const char *strFile) { int age, i; char name[10]; FILE *fp; fp = fopen(strFile, "w"); // ...
  • QT中向文件写入数据可追加的形式

    万次阅读 2019-08-23 13:01:57
    指定文件路径,然后打开文件。 QFile *file = new QFile(QDir::currentPath()+"/"+"user1");//此路径下没有就会自己创建一个 while(!file->open(QIODevice::ReadWrite | ...需要写入数据 QTextStream txtOutp...
  • Python 多进程同一个文件写数据

    千次阅读 2019-12-19 10:46:58
    但是同一个文件写入数据的时候,由于多进程是并发进行,操作系统中会不清楚到底要写入哪个数据到文件中,所以会出现资源竞争混乱,导致文件内容轮乱。 多进程也有一些问题,比如,如果进程都需要写入同一个文件,...
  • julia如何文本文件写入数据

    千次阅读 2018-08-05 13:11:37
    # 本文将简要介绍怎样文本文件写入数据 # 代码如下 x = linspace(1,10,10) y = linspace(11,20,10) f = open( "dat.txt", "a" ) # 由于一开始可能并没有dat.txt,所以这里用"a" ...
  • JSON文件写数据和读数据

    千次阅读 2016-07-06 11:17:32
    有一次领导让我们在前端想json文件写数据,然后将这个json文件上传到服务器,了解到这个东东,来个小小的简单的案例 先从JSON中写数据来说: 先要创建一个写数据的类:其中Folk是个实体类(也是借鉴的其他小...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,391,147
精华内容 1,356,458
关键字:

向文件写数据