标签: file-io

在OS X上使用sed进行就地编辑

我想在OS X上使用sed编辑文件.我正在使用以下命令:

sed 's/oldword/newword/' file.txt
Run Code Online (Sandbox Code Playgroud)

输出发送到终端. file.txt未被修改.使用以下命令将更改保存到file2.txt:

sed 's/oldword/newword/' file1.txt > file2.txt
Run Code Online (Sandbox Code Playgroud)

但是我不想要另一个文件.我只想编辑file1.txt.我怎样才能做到这一点?

我试过-i标志.这会导致以下错误:

sed: 1: "file1.txt": invalid command code f
Run Code Online (Sandbox Code Playgroud)

macos file-io sed in-place

130
推荐指数
5
解决办法
8万
查看次数

每种编程语言中的文件I/O.

这必须是所有程序员不时有的常见问题.如何从文本文件中读取一行?然后下一个问题是我如何写回来.

当然,大多数人在日常编程中都使用高级框架(可以在答案中使用)但有时候知道如何在较低级别进行编程也很好.

我自己知道该怎么做的C,C++以及Objective-C,但它肯定会得心应手,看看它是如何在所有流行的语言来完成,如果仅仅是为了帮助我们做出什么语言来尽我们的文件IO在一个更好的决定.特别是我认为这将是有趣的,看看它是如何在字符串操作语言完成,如:python,ruby当然perl.

所以我想在这里我们可以创建一个社区资源,我们可以为我们的配置文件加注星标,并参考我们何时需要以某种新语言进行文件I/O. 更不用说曝光我们都会得到我们日常不处理的语言.

这是你需要回答的方式:

  1. 创建一个名为" fileio.txt " 的新文本文件
  2. 将第一行"hello"写入文本文件.
  3. 将第二行"world"附加到文本文件.
  4. 将第二行"world"读入输入字符串.
  5. 将输入字符串打印到控制台.

澄清:

  • 您应该仅针对每个答案以一种编程语言显示如何执行此操作.
  • 假设文本文件事先不存在
  • 写完第一行后,无需重新打开文本文件

对语言没有特别限制. C,C++,C#,Java,Objective-C都是伟大的.

如果你知道如何做到这一点的Prolog,Haskell,Fortran,Lisp,或Basic则请请便.

language-agnostic file-io programming-languages

127
推荐指数
54
解决办法
8万
查看次数

是否有必要单独关闭每个嵌套的OutputStream和Writer?

我正在写一段代码:

OutputStream outputStream = new FileOutputStream(createdFile);
GZIPOutputStream gzipOutputStream = new GZIPOutputStream(outputStream);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(gzipOutputStream));
Run Code Online (Sandbox Code Playgroud)

我是否需要关闭以下每个流或作者?

gzipOutputStream.close();
bw.close();
outputStream.close();
Run Code Online (Sandbox Code Playgroud)

或者只关闭最后一个流好吗?

bw.close();
Run Code Online (Sandbox Code Playgroud)

java file-io outputstream writer

126
推荐指数
7
解决办法
2万
查看次数

如何序列化对象并将其保存到Android中的文件?

假设我有一些简单的类,一旦它被实例化为一个对象,我希望能够将其内容序列化为一个文件,并通过稍后加载该文件来检索它......我不知道从哪里开始,如何将此对象序列化为文件需要做什么?

public class SimpleClass {
   public string name;
   public int id;
   public void save() {
       /* wtf do I do here? */
   }
   public static SimpleClass load(String file) {
       /* what about here? */
   }
}
Run Code Online (Sandbox Code Playgroud)

这可能是世界上最简单的问题,因为这在.NET中是一个非常简单的任务,但在Android中我很新,所以我完全迷失了.

file-io serialization android

124
推荐指数
4
解决办法
13万
查看次数

SVN命令删除所有本地丢失的文件

在SVN中是否有一个命令我可以用来删除目录中所有本地丢失的文件?

或者失败了,某种方式只列出那些丢失的文件(或者,在更一般的情况下,具有状态A,D,?等)

svn file-io

124
推荐指数
10
解决办法
9万
查看次数

如何在模式文本中搜索模式并将其替换为给定值

我正在寻找一个脚本来搜索模式的文件(或文件列表),如果找到,则用给定的值替换该模式.

思考?

ruby file-io

115
推荐指数
7
解决办法
12万
查看次数

在VBA中删除文件

使用VBA,我该怎么做:

  1. 测试文件是否存在,如果存在,
  2. 删除它?

file-io vba file-exists delete-file

114
推荐指数
6
解决办法
44万
查看次数

如何使用java锁定文件(如果可能)

我有一个使用FileReader打开文件的Java进程.如何防止另一个(Java)进程打开此文件,或者至少通知第二个进程该文件已被打开?如果文件是打开的(这解决了我的问题),这是否会自动使第二个进程获得异常,或者我是否必须在第一个进程中使用某种标志或参数显式打开它?

澄清:

我有一个Java应用程序,它列出了一个文件夹,并打开列表中的每个文件进行处理.它会逐个处理每个文件.每个文件的处理包括读取它并根据内容进行一些计算,大约需要2分钟.我还有另一个Java应用程序执行相同的操作,而是写入文件.我想要的是能够同时运行这些应用程序,所以场景就是这样的.ReadApp列出文件夹并找到文件A,B,C.它打开文件A并开始读取.WriteApp列出文件夹并找到文件A,B,C.它打开文件A,看到它是打开的(通过异常或任何方式)并转到文件B. ReadApp完成文件A并继续到B.它看到它是开放的,继续到C. WriteApp没有至关重要 当ReadApp读取同一文件时写入,反之亦然.它们是不同的过程.

java file-io

114
推荐指数
5
解决办法
16万
查看次数

为什么java.io.File没有close()方法?

虽然java.io.RandomAccessFile确实有一种close()方法java.io.File没有.这是为什么?文件是否在最终确定时自动关闭?

谢谢!

java file-io

113
推荐指数
5
解决办法
13万
查看次数

将TimeStamp附加到文件名

我曾经多次遇到过这个问题,我希望在同一个目录中有同一个文件的多个版本.我使用C#的方式是通过向文件名添加时间戳,使用类似的方法DateTime.Now.ToString().Replace('/', '-').Replace(':', '.').有一个更好的方法吗?

.net c# file-io datetime file

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