标签: file-io

检查文件是否比 Ruby 中的其他文件更新?

在 Ruby 中,如何在复制之前检查文件是否比目标新?

我在Ruby-doc.org 中找到了FileUtils.uptodate?,但它似乎不起作用。
运行时出现此错误消息:

/Users/bprov/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/fileutils.rb:148:in uptodate?': undefined methodeach' for "/Users/bprov/folder2/homecontroller":String (NoMethodError ) 来自 Test_Copy.rb:11:in block in <main>' from Test_Copy.rb:6:inforeach' 来自 Test_Copy.rb:6:in `'

我有这样的事情:

require 'fileutils'

$sourcepath = "/Users/bprov/railsbridge"
$destinationpath = "/Users/bprov/folder2"

Dir.foreach($sourcepath)  do |file|
  if (file =~ /^\./ )
    # Do nothing
  else
    puts file
    if FileUtils.uptodate?($sourcepath + "/" + file, $destinationpath + "/" + file)
      # Do nothing
    else
      # If newer
      FileUtils.cp($sourcepath + "/" + file, $destinationpath + "/" + …
Run Code Online (Sandbox Code Playgroud)

ruby file-io

-1
推荐指数
1
解决办法
496
查看次数

StreamWriter在创建文件后崩溃

所以我有我的写入文件功能,它将创建该文件,如果它不存在,它的工作但问题是你第一次运行代码时文件不存在它创建它然后崩溃程序

//writing file to Error.txt
string path = @err;
if (!File.Exists(path)) // if does not exist make it 
{
    File.Create(path);
    TextWriter tw = new StreamWriter(path); //crashes here after create
    tw.WriteLine(i);
    tw.Close();
}
Run Code Online (Sandbox Code Playgroud)

例外情况是:

mscorlib.dll中发生了未处理的"System.IO.IOException"类型异常

附加信息:进程无法访问文件
'C:\ Users\Desktop\TestStuff\error.txt',因为它正由另一个进程使用.

c# file-io

-1
推荐指数
1
解决办法
678
查看次数

从c中的文本文件中读取整数

我想读取一个文本文件,其中图像像素值以这种方式存储

234
23
176
235
107
187
201
128
147
...
....
..
Run Code Online (Sandbox Code Playgroud)

我试图以这种方式阅读这个文本文件

#include<stdio.h>
#define M 2500
int main()
{

unsigned  new_img[M];
unsigned char a;
FILE *input;
input=fopen("D:/trail.txt","r");
for(i=0;i<M;i++)
{
    a=fgetc(input);
    new_img[i]=(int)a; 
    input++;
}
....

....

...
return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试打印它时显示一些随机值.此外,我所有的像素值都在0到255的范围内.但在输出屏幕上我得到的值大到1到100万

c file-io input fgets

-1
推荐指数
1
解决办法
2153
查看次数

逐行读取文件时读取和写入文件

程序:

#include<iostream>
#include<fstream>
#include<stdio.h>
#include<string.h>
using namespace std;

int main()
{
    FILE *f;
    char* line;
    size_t ln=100;
    char* s;
    line=new char[100];
    s=new char[100];
    cout<<"input key"<<endl;
    cin>>s;
    f=fopen("parvin.txt","r");
    if(f==NULL)
    {
        cout<<" no file TO read so creating for writing "<<endl;
        //return 0;
        f=fopen("parvin.txt","w");
        fputs(s,f);
        fputc('\n',f);
    }
    else
    {
        while(! feof(f))
        {
            fgets(line,100,f);
            cout<<line<<endl;

            //if(!strncmp(line,s,strlen(line)-1))
            if(strcmp(line,s)== 0 )
            {
                cout<<"duplicate found"<<endl;
                fclose(f);
                return 0;
            }
        }
        fclose(f);
        f=fopen("parvin.txt","a+");
        fputs(s,f);
        fputc('\n',f);
    }
    fclose(f);
}
Run Code Online (Sandbox Code Playgroud)

这里是我喜欢读取输入字符串并将其写入文件的上述程序,前提是字符串不存在于文件中.

  • 拿输入字符串
  • 在读取模式下打开文件.

  • 如果第一次输入文件不存在,如果文件指针返回NULL,则创建一个文件写入模式并写入输入的字符串.

  • 如果文件已经存在,则逐行读取文件并与输入字符串进行比较,如果与任何行匹配则返回并关闭.
  • 另外,在写入模式下打开相同的文件并写入输入的字符串. …

c c++ string file-io char

-1
推荐指数
1
解决办法
1039
查看次数

为什么我们总是必须在C编程中使用fgetc命令而不是fscanf,它们执行相同的操作但打印出奇怪的结果?

在C编程中,每当我使用它fgetc(file)来读取所有字符,直到它的文件结束它.但是当我使用类似的fscanf(file, "%c")功能时,它会打印出奇怪的字符.码:

#include <stdio.h>
#include <stdlib.h>

int main() {
    char c;
    FILE * file = fopen("D\\filename.txt", "r");
    while (c != EOF) {
        fscanf(file, "%c", &c);
        printf("%c", c);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我使用fgetc而不是fscanf,它的工作原理.并打印出文件中存在的每个字符.

任何人都可以回答为什么会这样吗?

c file-io scanf fgetc

-1
推荐指数
1
解决办法
451
查看次数

如何使用文件结构?

我有一个小问题,我有当前的文件结构: 在此输入图像描述

这是我的代码:

#include <stdio.h>
#include <stdlib.h>

const char FILE_NAME[] = "inputfile.txt";

int main()
{
    FILE *in_file;    /* input file */

    in_file = fopen(FILE_NAME, "r");
    if (in_file == NULL) {
        printf("Cannot open %s\n", FILE_NAME);
        exit(8);
    }else{
        printf("File opened %s\n", FILE_NAME);
    } 
    fclose(in_file);
    return (0);
}
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

无法打开inputfile.txt

但文件就在那里.有人能帮我吗?

(如果我将"r"更改为"w",我可以写入文件,但我在SSD上找不到该文件)

c file-io file input

-1
推荐指数
1
解决办法
64
查看次数

为什么我对file.WriteLine()的调用无法将StringBuilder的所有内容写入文件?

我正在尝试通过StringBuilder和File.WriteLn()将一个html文件写入磁盘,但该文件缺少几行,因此无用.我的代码是:

    private void BuildAndWriteHTMLFile()
{
    StringBuilder sb = new StringBuilder();
    sb.Append("<!DOCTYPE html>");
    sb.Append("<html lang=\"en\">");
    sb.Append("<head>");
    sb.Append("<meta charset=\"utf-8\">");
    sb.Append("<title>Green Bay Packers 2013 Schedule (All times Central)</title>");
    sb.Append("<script src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js\"></script> ");
    sb.Append("<script src=\"http://maps.google.com/maps/api/js?sensor=false\"></script> ");
    sb.Append("<script src=\"gomap.js\"></script> ");
    sb.Append("<!--[if IE]>");
    sb.Append("<script src=\"http://html5shiv.googlecode.com/svn/trunk/html5.js\"></script>");
    sb.Append("<![endif]-->");

. . . // oodles on noodly code elided for lack of reason to leave it in

    sb.Append("this.singleMarker = false;");
    sb.Append("this.lockGeocode = false;");
    sb.Append("this.markers = [];");
    sb.Append("this.tmpMarkers = [];");
    sb.Append("this.geoMarkers = [];");
    sb.Append("},");

    sb.Append("isVisible: function(latlng) {");
    sb.Append("return this.map.getBounds().contains(latlng);");
    sb.Append("}");
    sb.Append("}");
    sb.Append("})(jQuery);"); …
Run Code Online (Sandbox Code Playgroud)

c# file-io stringbuilder streamwriter

-1
推荐指数
1
解决办法
144
查看次数

具有更复杂对象的std :: cin

我有一个文本文件,首先描述一些行,然后描述一些彩色线:

1 2    3  4
5 6    7  8 
9 10   11 12

red    1 0 0    1 2    3 4
green  0 1 0    5 6    7 8
blue   0 0 1    9 10   11 12
Run Code Online (Sandbox Code Playgroud)

每个部分中的行数在执行时是未知
std::cin >>为这些结构重载了运算符:

struct Point { int x, y; }
struct Line { Point a, b; }
struct Color { float r, g, b; std::string name; };
struct ColorfulLine { Line line; Color color; };
Run Code Online (Sandbox Code Playgroud)

(这里的完整示例:http://ideone.com/bMOaL1 …

c++ file-io iostream c++11 c++14

-1
推荐指数
1
解决办法
70
查看次数

在python中没有尾随换行符的情况下读取文件?

所以我决定使用这段代码:

CaseList = []
f_Case = open("C:/Users/Luke Roberts/Desktop/Lists/CaseList.txt", "r")
for line in f_Case:
    CaseList.append(line)
print(CaseList)
Run Code Online (Sandbox Code Playgroud)

但是,当我打印列表时,它出现为:

['Case 1\n', 'Case 2\n', 'Case 3\n', 'Case 4\n', 'Case 5']
Run Code Online (Sandbox Code Playgroud)

有没有办法将它添加到列表中而没有'\n'?如果没有,有没有办法从每个字符串中删除'\n'?

任何和所有的帮助表示赞赏!干杯

python file-io file list

-1
推荐指数
1
解决办法
90
查看次数

C ++逐行读取文件的最快方法

我不要任何增强依赖或任何外部依赖。我可以逐行读取文件,然后分别处理每一行。但是,如果效果更好,我还可以将整个文件加载到内存中,然后逐行处理它。

最好的方法是什么?另外,最快的方法是什么,它们有何不同?

同样,这既可以使用常规文本文件,又可以通过终端通过管道传输文件。

c++ file-io

-1
推荐指数
1
解决办法
8848
查看次数

标签 统计

file-io ×10

c ×4

c++ ×3

c# ×2

file ×2

input ×2

c++11 ×1

c++14 ×1

char ×1

fgetc ×1

fgets ×1

iostream ×1

list ×1

python ×1

ruby ×1

scanf ×1

streamwriter ×1

string ×1

stringbuilder ×1