相关疑难解决方法(0)

如何从两个绝对路径(或URL)构建Java中的相对路径?

给出两条绝对路径,例如

/var/data/stuff/xyz.dat
/var/data
Run Code Online (Sandbox Code Playgroud)

如何创建使用第二条路径作为基础的相对路径?在上面的例子中,结果应该是:./stuff/xyz.dat

java url file path

268
推荐指数
11
解决办法
19万
查看次数

Java有路径连接方法吗?

完全重复:

在java中组合路径

我想知道Java中是否有这样的方法.以此片段为例:

// this will output a/b
System.out.println(path_join("a","b"));
// a/b 
System.out.println(path_join("a","/b");
Run Code Online (Sandbox Code Playgroud)

java file-io file path

135
推荐指数
2
解决办法
13万
查看次数

如何在Android中以编程方式解压缩文件?

我需要一个小代码片段,它从给定的.zip文件中解压缩一些文件,并根据它们在压缩文件中的格式提供单独的文件.请发布您的知识并帮助我.

java android unzip

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

使用 Paths.get() 或 Path.resolve() 连接 nio.path

我想知道使用 Paths.get() 和 Path.resolve 之间有什么区别,如下例所示:

public static void main(String[] args) {
    Path p1 = Paths.get("dir1","dir2","file.jpg");
    Path p2 = Paths.get("").resolve("dir1/dir2/file.jpg");

    System.out.println(p1.toString()); // yields: dir1/dir2/file.jpg
    System.out.println(p2.toString()); // yields: dir1/dir2/file.jpg
}
Run Code Online (Sandbox Code Playgroud)

看起来两者的行为相同,但在 Java EE 应用程序中,我目睹了p1将主目录分配为前缀。我找到了 @Aleksandr Dubinsky 对 StackOverflow 问题How to join paths in Java?的回答。,但我不明白引用的javadoc的含义:

请注意,Paths.get() (如其他人建议的那样)没有采用 Path 的重载,并且执行 Paths.get(path.toString(), childPath) 与resolve () 不同。来自 Paths.get() 文档:

请注意,虽然此方法非常方便,但使用它意味着假定引用默认文件系统并限制调用代码的实用性。因此,它不应该在旨在灵活重用的库代码中使用。更灵活的替代方案是使用现有的 Path 实例作为锚点,例如:

Path dir = ...
Path path = dir.resolve("file");
Run Code Online (Sandbox Code Playgroud)

具体来说,我不明白 javadoc 想要说的“将暗示对默认文件系统的假定引用”。

java nio path

7
推荐指数
1
解决办法
3748
查看次数

使用 java 8 在文件名和扩展名之间添加中缀

在我的代码中,我想转换表单的路径

/a/path/to/a/file/image.jpg
Run Code Online (Sandbox Code Playgroud)

/a/path/to/a/file/image_resized.jpg
Run Code Online (Sandbox Code Playgroud)

目前,我正在使用以下FilenameUtils来自 apache commons IO 的代码。

public Path resize(Path original) {
    String baseName = FilenameUtils.getBaseName(original.toString());
    String extension = FilenameUtils.getExtension(original.toString());
    return Paths.get(original.getParent().toString(), baseName + "_resized." + extension);
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以使用 java 8 功能增强其中的某些代码,特别是:

  • 是否有一种 java-8 方法来提取扩展名和基本名称,而不使用对 Apache Commons IO (FilenameUtils) 的依赖,并且没有正则表达式(我更喜欢依赖 apache commons IO 而不是在这里使用正则表达式)
  • 在没有toString()in 的情况下加入 PathsPaths.get(existingPath.toString(), "path/to/append");

问题的第二部分在 Java中的组合路径中回答

java path java-8

4
推荐指数
1
解决办法
1610
查看次数

java.io.File.plus() 适用于参数类型: (java.lang.String) value: [\] in Ready API

我有以下 Groovy 脚本,我试图在其中获取目录名和文件名:

File dir = new File("C://Users//avidCoder//Project")
log.info dir //Fetching the directory path
String fileName = "Demo_Data" + ".json"
log.info fileName //Fetching the file name

String fullpath = dir + "\\" + fileName
log.info fullpath //Fetching the full path gives error
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,出现以下异常:

“java.io.File.plus() 适用于参数类型”

为什么创建fullpath变量会抛出这个异常?

java groovy file ready-api

4
推荐指数
1
解决办法
6347
查看次数

将两个字符串组合成表示路径的单个字符串

我想把字符串"test/""/go"as 组合起来"test/go".

我怎样才能做到这一点?

java

3
推荐指数
3
解决办法
6931
查看次数

使用Windows文件exlorer找不到使用Android App创建的文件夹或文件

我正在我的一个应用程序中的SD卡上创建一个目录和一个文本文件,因为我希望能够将它移动到我的计算机上进行分析.但我无法使用计算机上的文件浏览器找到我在SD卡上创建的文件夹或文件.我可以使用我的手机文件管理器找到并读取文件,但不能在Windows中使用文件浏览器.因此,文件和文件夹已成功创建,我可以写入文件,我也可以使用手机上的文件管理器查找和读取文件,但我无法使用计算机找到目录或文件.

我有一个应用程序的使用权限,允许它写入外部存储.

这是我用来创建文件和目录的代码.

String fileName = "testFil.txt";
String path = Environment.getExternalStorageDirectory().getAbsolutePath()+"/PulsApp";

File appDirectory = new File(path);
appDirectory.mkdirs();
File file = new File(path, fileName);

try {
    file.createNewFile();
} catch (IOException e) {
}
Run Code Online (Sandbox Code Playgroud)

有谁知道问题是什么以及如何解决它?我真的需要能够将文件写入我的SD卡,以便将它们传输到我的电脑上.

我完全被这个问题困惑,因为我所做的所有研究都指出其他人都在做同样的事情.

java android

1
推荐指数
1
解决办法
3307
查看次数

标签 统计

java ×8

path ×4

file ×3

android ×2

file-io ×1

groovy ×1

java-8 ×1

nio ×1

ready-api ×1

unzip ×1

url ×1