3

该文件是目录中的aa.txt/home/user 我写的代码是

input=new FileInputStream("//home//user//aa.txt");

但程序无法打开文件。当我在 Windows 上运行它时,它的工作原理是程序正确读取 Fedora 中路径的格式是什么???

4

2 回答 2

1

由于\用作转义字符(例如\n= 换行符和= 制表符) ,因此在将此字符放入字符串中时,\t我们需要写成\\单个字符。\

正斜杠不存在此问题/ 对于 linux 目录,使用正斜杠/;windows 使用反斜杠。编写独立于操作系统的代码可能会很痛苦,但这不是问题。只需在处理文件时使用正斜杠,Java 就会自动为您将其转换为正确的操作系统特定格式。

例如C:/Users/Owner/Documents变成C:\Users\Owner\Documents在窗户上。或者你可以写"C:\\Users\\Owner\\Documents",但简单的正斜杠格式看起来更简单。

于 2012-12-01T11:33:51.747 回答
0

您不必转义/(斜杠)字符。

所以你基本上需要这个:

input=new FileInputStream("/home/user/aa.txt");

但是,使用它会更明智File.separator

input=new FileInputStream(File.separator+"home"+File.separator+"user"+File.separator+"aa.txt");
于 2012-12-01T11:25:07.747 回答