byte bWrite [] = {11,21,3,40,5};
OutputStream os = new FileOutputStream("test.txt");
System.out.println("Created successfully"+os.getAbsolutePath());
这是我的代码。我必须获取“test.txt”的位置。请查看是否有其他实现方式...?
答案 0 :(得分:6)
FileOUtputStream
也有File
构造函数,因此您可以使用它。
File out = new File("test.txt");
OutputStream os = new FileOutputStream(out);
System.out.println("Created successfully "+out.getAbsolutePath());
答案 1 :(得分:3)
在之后获取此信息您只有一个OutputStream
变量对我来说感觉不对。毕竟,根本不能保证OutputStream
正在写入文件 - 它可以是ByteArrayOutputStream
或写入套接字。您可以在创建FileOutputStream
之前获取此信息。例如:
File file = new File("test.txt");
System.out.println("Absolute path: " + file.getAbsolutePath());
或者
Path path = Paths.get("text.txt");
System.out.println("Absolute path: " + path.toAbsolutePath());
...然后根据它创建FileOutputStream
。
答案 2 :(得分:0)
为什么不把你想要的绝对路径作为FileOutputStream的构造函数的参数?
答案 3 :(得分:0)
当我使用 FileOutputStream 尝试您的代码时,它根本不起作用。但是我用下面的代码成功了。
OutputStream os = openFileOutput("test.txt", MODE_PRIVATE);
System.out.println("Created successfully" + getFilesDir().getAbsolutePath() + "/test.txt");
getFilesDir().getAbsolutePath() 似乎获取 openFileOutput 的默认位置的绝对路径。