Tag: file io

C#:预先开始一个文件

使用C#将文本添加到文件开头的最佳方法是什么? 我找不到一个简单的方法来做到这一点,但想出了一些解决办法。 打开新文件,写入我想要添加的文本,将旧文件中的文本附加到新文件的末尾。 由于我想添加的文本应该less于200个字符,所以我在考虑将空格字符添加到文件的开头,然后用我想要添加的文本覆盖空格。 有没有其他人遇到这个问题,如果是的话,你做了什么?

为什么在更新模式下,在读和写之间总是需要fseek或fflush?

问:我试图通过使用fopen模式"r+" ,读取某个string,写回修改后的string来更新文件,但不起作用。 答:请务必在写入之前调用fseek ,以便回溯到要覆盖的string的开头,并且因为在读/写“+”模式下读写之间始终需要fseek或fflush 。 我的问题是为什么 fseek或fflush总是需要在读/写“+”模式读写之间? Andrew Koenig的“ C陷阱和陷阱” (1989)第5.2节提到,这是因为向后兼容性问题。 任何人都可以详细解释?

在OS X上就地编辑sed

我想在OS X上用sed编辑一个文件。我正在使用下面的命令: sed 's/oldword/newword/' file.txt 输出被发送到terminal。 file.txt没有被修改。 使用此命令将更改保存到file2.txt中 : sed 's/oldword/newword/' file1.txt > file2.txt 但是我不想要另一个文件。 我只想编辑file1.txt 。 我该怎么做? 我已经尝试了-i标志。 这会导致以下错误: sed: 1: "file1.txt": invalid command code f

计算文件中单词频率的优雅方法

什么是优雅和有效的方法来计算每个“英语”单词在文件中的频率?

获取相对于当前工作目录的path?

我正在编写一个控制台实用程序来对命令行上指定的文件进行一些处理,但是我遇到了一个我无法通过Google / Stack Overflow解决的问题。 如果指定了完整path(包括驱动器盘符),如何将该path重新格式化为相对于当前工作目录? 必须有类似于VirtualPathUtility.MakeRelative函数的东西,但是如果有的话,它就没有了。

如果指定文件被移动,删除,Linux上的打开文件处理程序会发生什么情况

Linux上的打开文件处理程序会发生什么情况: 移开 – >文件处理程序是否保持有效? 已删除 – >这是否导致EBADF,表明一个无效的文件处理程序? replace为新文件 – >文件处理程序是否指向这个新文件? 通过硬链接replace为新文件 – >我的文件处理程序“跟随”此链接吗? 用一个软链接replace一个新文件 – >我的文件处理程序现在是否打这个软链接文件? 为什么我问这样的问题:我正在使用热插拔硬件(如USB设备等)。 可能会发生,设备(也是/ dev / file)被用户或其他Gremlin重新连接。 处理这个问题的最佳做法是什么?

即使在得到“正在被另一个进程使用”exception的情况下,我如何才能读取文件?

在VB.NET或C#中,我试图读取另一个程序正在使用的文本文件的内容(这就是说,实际上,我不能停止程序或停止写入文本文件,我想定期读出在另一个程序中的文本文件中的当前内容)。 这是我正在使用的代码(VB.NET) Dim strContents As String Dim objReader As StreamReader objReader = New StreamReader(FullPath) strContents = objReader.ReadToEnd() objReader.Close() 或在C#中: var objReader = new StreamReader(FullPath); var strContents = objReader.ReadToEnd(); objReader.Close(); 但是,上述情况会引发IOexception“进程无法访问文件'file.txt',因为它正被另一个进程使用。 在这种情况下是否有任何解决方法?

用Java进行file upload(带进度条)

我对Java 非常陌生,大部分时间都是在自学,所以我开始构build一个小程序。 我想创build一个可以从本地磁盘上select一个文件,并将其作为多部分/表单数据POST请求上传,但有一个进度条 。 显然,用户必须授予Java applet访问硬盘驱动器的权限。 现在我已经得到了第一部分的工作:用户可以使用JFileChooser对象来select文件,该对象可以方便地返回一个File对象。 但是我想知道接下来会发生什么。 我知道File.length()会给我文件的总大小(以字节为单位),但是如何将选定的File发送到Web,以及如何监视已发送的字节数? 提前致谢。

如何将控制台输出写入一个txt文件

我试图使用此代码build议( http://www.daniweb.com/forums/thread23883.html# )将控制台输出写入到txt文件,但是我没有成功。 怎么了? try { //create a buffered reader that connects to the console, we use it so we can read lines BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //read a line from the console String lineFromInput = in.readLine(); //create an print writer for writing to a file PrintWriter out = new PrintWriter(new FileWriter("output.txt")); //output […]

C打开vs打开

是否有任何理由(除了语法的)你想要使用 FILE *fdopen(int fd, const char *mode); 要么 FILE *fopen(const char *path, const char *mode); 代替 int open(const char *pathname, int flags, mode_t mode); 在Linux环境中使用C时?