我的资源文件夹中有一个文本文件,我需要能够读取/删除/添加文本。我相信我必须使用追加,所以我试过了。
Files.write(Paths.get(Testing.class.getResource("/testresources/SearchList.txt").getPath())
, "the text".getBytes(), StandardOpenOption.APPEND);
这让我回来了
Exception in thread "main" java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/Users/Ben/workspace/Eve/bin/org/me/Testing/resources/SearchList.txt
如果有人能让我对这个主题有一些清晰的认识。三江源!
答案 0 :(得分:0)
这对我很有用:
您应该将文本文件添加到原始文件夹。如果资源目录中不存在原始文件夹,请创建一个。然后,为了访问它并编写或编辑它,请使用:
OutputStream outputStream=getResources().openRawResource(R.raw.YourTextFile);
然后为了从文件中读取,你应该这样做
InputStream inputStream=getResources().openRawResource(R.raw.YourTextFile);
答案 1 :(得分:0)
正在自动将一条前导斜杠添加到您的路径中 - /C:/Users/Ben/workspace/Eve/bin/org/me/Testing/resources/SearchList.txt
答案中提出了很多解决方案Java NIO file path issue
使用上述任何答案作为您的解决方案。
此外,对于打算在jar中的文件,您需要使用Paths
方法public static Path get(URI uri)
而不是public static Path get(String first,String... more)
请参阅How to get a path to a resource in a Java JAR file