Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过在unix服务器上运行java代码在unix服务器上创建文本文件?_Java_Unix - Fatal编程技术网

如何通过在unix服务器上运行java代码在unix服务器上创建文本文件?

如何通过在unix服务器上运行java代码在unix服务器上创建文本文件?,java,unix,Java,Unix,有人能告诉我如何通过java代码在unix服务器中创建文本文件吗 我试着运行下面的代码,但不起作用 BufferedWriter output = null; File file = new File("D:\abc.txt); 请帮帮我 嗯: // This certainly won't create a file. It's just declaring a variable // and giving it an initial value of null BufferedWriter

有人能告诉我如何通过java代码在unix服务器中创建文本文件吗

我试着运行下面的代码,但不起作用

BufferedWriter output = null;
File file = new File("D:\abc.txt);
请帮帮我

嗯:

// This certainly won't create a file. It's just declaring a variable
// and giving it an initial value of null
BufferedWriter output = null;

// This has multiple problems - see below
File file = new File("D:\abc.txt);
这是无效的Java,首先-您需要“d:\abc.txt”,带有结束双引号和双反斜杠(因为反斜杠需要转义Java字符串文本)。即便如此:

  • 它只会创建一个
    文件
    对象,它基本上是一个文件系统条目的表示。它不会在文件系统中创建实际的文件
  • Unix文件系统看起来不像那样。您将需要编写到
    /home/foo/任何
    或类似的东西。考虑到您肯定不想写入“D驱动器”(因为这个概念在Unix中毫无意义),您想写入到哪里
当您知道要在哪里写作时,您可以使用以下内容:

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter
    (new FileOutputStream("/home/foo/abc.txt"), "utf-8"));
try {
    writer.write("This is a line of text");
} finally {
    writer.close();
}

虽然您没有发布所有代码,但我想其余的代码确实会写入
BufferedWriter
。您有两个错误(一个可能只是复制/粘贴问题:
1.缺少收盘报价(如Jon Skeet所述)
2.您需要在Windows上反斜杠分隔符(为了更安全,您可以使用
java.io.File.separator

最后,在Unix服务器上找不到“D:\”名称

“它不工作”是什么意思?在编译时或运行时是否出现错误?如果是,则错误是什么?请显示完整的代码,因为这两行不是完整的示例。
BufferedWriter output = null;
File file = new File("D:\\abc.txt");
BufferedWriter output = null;
// Example if you mounted windows drive D: to /mnt/d
File file = new File("/mnt/d/abc.txt");