标签: file-io

使用T4获取项目或相对目录

如何从t4模板中获取对visual studio项目或解决方案目录或t4模板目录的引用?

我有一个模板将一些文件连接在一起,这些文件位于相对于模板的位置.我需要通过相对手段获得对绝对位置的引用.硬编码绝对路径是不可接受的,因为visual studio项目并不总是在同一位置,这会破坏代码生成.从环境中读取当前工作目录也不起作用,因为它返回T4引擎所在的位置而不是模板.我刚刚进入t4,所以任何帮助都会受到赞赏.

file-io t4 code-generation visual-studio-2008 visual-studio

47
推荐指数
2
解决办法
1万
查看次数

为什么open()使用错误的权限创建我的文件?

我想从文件中读取一些文本并使用它写入到另一个open(),read()write().

这是我open()的文件写入(我想创建一个新文件并写入其中):

fOut = open ("test-1", O_RDWR | O_CREAT | O_SYNC);
Run Code Online (Sandbox Code Playgroud)

这是将文件权限设置为我根本不理解的东西.这是输出ls -l:

---------T 1 chaitanya chaitanya 0 2010-02-11 09:38 test-1
Run Code Online (Sandbox Code Playgroud)

甚至读取权限也被锁定.我试着寻找这个,但找不到任何东西.奇怪的是,write()仍然成功地将数据写入文件.

另外,如果我做'chmod 777 test-1',事情就会再次开始正常工作.

有人可以让我知道我在公开电话中哪里出错吗?

谢谢!

供您参考,我已粘贴以下完整程序:

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

int main () {

    char buffer[512], ch;

    int fIn, fOut, i;
    ssize_t bytes;
    FILE *fp = NULL;

    //open a file
    fIn = open ("test", O_RDONLY);
    if (fIn == -1) {
        printf("\nfailed to …
Run Code Online (Sandbox Code Playgroud)

c unix file-io

46
推荐指数
4
解决办法
8万
查看次数

以"w"模式打开文件:IOError:[Errno 2]没有这样的文件或目录

当我尝试使用以下代码在写入模式下打开文件时:

packetFile = open("%s/%s/%s/%s.mol2" % ("dir", "dir2", "dir3", "some_file"), "w")

给我以下错误:

IOError: [Errno 2] No such file or directory: 'dir/dir2/dir3/some_file.mol2'

如果文件不存在,"w"模式应该创建文件,对吧?那么这个错误怎么会发生呢?

python file-io

46
推荐指数
3
解决办法
7万
查看次数

与boost.asio和文件i/o有什么关系?

我注意到boost.asio有很多涉及套接字,串行端口和各种非文件示例的例子.对于我来说,Google并没有真正提到过很多,因为asio是一个很好或有效的异步文件i/o方法.

我有大量的数据我想异步写入磁盘.这可以通过Windows(我的平台)中的原生重叠io来完成,但我更喜欢拥有独立于平台的解决方案.

我好奇,如果

  1. boost.asio有任何文件支持
  2. boost.asio文件支持已经足够成熟,适用于日常文件i/o
  3. 是否会添加文件支持?这是什么前景?

c++ file-io boost boost-asio

45
推荐指数
5
解决办法
2万
查看次数

为什么使用自动生成文件句柄的三参数打开调用是Perl的最佳实践?

我有两个关于Perl open函数的问题:

1)我似乎记得Perl最佳实践中的3参数版本open比两个参数版本更好,例如

open(OUT, '>>', $file);
Run Code Online (Sandbox Code Playgroud)

open(OUT, ">>$file");
Run Code Online (Sandbox Code Playgroud)

这是为什么?我试图告诉别人前几天使用3参数版本,但似乎无法用任何东西支持它.

2)我似乎还记得autovivified文件句柄比bareword文件句柄更受青睐(他们称之为不同的东西)?而且也记不住为什么,例如

open(my $out, '>>', $file);
Run Code Online (Sandbox Code Playgroud)

open(OUT, '>>', $file);
Run Code Online (Sandbox Code Playgroud)

这是strict件事吗?我似乎记得能够使用OUT,strict但我不记得了.

perl file-io scope

45
推荐指数
3
解决办法
6055
查看次数

我可以检查URL上是否存在文件?

我知道我可以在我的文件系统上本地检查文件是否存在:

if(File.Exists(path))
Run Code Online (Sandbox Code Playgroud)

我可以查看特定的远程URL吗?

c# file-io

45
推荐指数
3
解决办法
8万
查看次数

Java太多打开文件

我正在尝试写入多个文件,确切地说是19.写了几百次之后,我得到了Java IOException:打开的文件太多了.但是,就像我说的那样,我打开了19个文件,并且我在开始时打开了所有文件.这里有什么问题?我可以验证写入是否成功.

编辑:我没有使用try-catch-finally块.我让函数抛出异常.现在我把try-catch-finally放在他们周围,他们似乎做得更好.

大多数人都是对的,因为我打开的文件超出了我的想象.还在跟踪事情.稍后我会发布更新.

重新编辑:确保所有文件访问都用try-catch包装 - 最终修复了问题.谢谢

java file-io

45
推荐指数
2
解决办法
10万
查看次数

即使在"正在使用另一个进程"异常时,如何读取文件?

在VB.NET或C#中,我正在尝试读取另一个程序正在使用的文本文件的内容(这就是重点,实际上,我无法停止程序或它停止写入文本文件,并且我想定期读出另一个程序中文本文件中当前的内容.

这是我正在使用的代码(VB.NET)

Dim strContents As String
Dim objReader As StreamReader
objReader = New StreamReader(FullPath)
strContents = objReader.ReadToEnd()
objReader.Close()
Run Code Online (Sandbox Code Playgroud)

或者在C#中:

var objReader = new StreamReader(FullPath);
var strContents = objReader.ReadToEnd();
objReader.Close();
Run Code Online (Sandbox Code Playgroud)

但是,上面引发了IO异常"进程无法访问文件'file.txt',因为它正被另一个进程使用." 在这种情况下是否有任何变通方法?

.net c# vb.net file-io

45
推荐指数
3
解决办法
3万
查看次数

读取另一个进程使用的文件

我正在监视由服务器程序写入的文本文件.每次更改文件时,内容都将输出到我的程序中的窗口.

问题是我无法使用Streamreader文件used by another process.建立一个FilestreamReadWrite将没有任何好处,因为我无法控制所使用的文件的过程.

我可以在记事本中打开文件.即使服务器正在使用它,也必须能够访问它.

这有什么好办法吗?

我应该做以下事情吗?

  1. 监控文件
  2. 更改时制作临时副本
  3. 阅读临时副本
  4. 删除临时副本.

每当服务器更改文件时,我都需要在文件中获取文本.

c# file-io file-locking

45
推荐指数
2
解决办法
5万
查看次数

从fstream获取文件名(或路径)

我可以从fstream对象获取文件名或路径吗?我查看了方法,fstream但没有找到任何接近它的方法.

c++ file-io fstream

45
推荐指数
2
解决办法
4万
查看次数