java语言 获取filename "-“之后15位
时间: 2024-09-23 09:06:40 浏览: 19
在Java中,如果你想获取文件名(通常是指路径中的最后一个部分)从"-"字符后的第15位开始,你可以使用`java.io.File`类配合字符串处理。假设你有一个字符串代表完整的文件路径,可以这样做:
```java
String filePath = "path/to/file-name-0123456789abcdef";
int dashIndex = filePath.lastIndexOf('-'); // 找到减号的位置
if (dashIndex != -1) { // 检查是否有减号
String fileName = filePath.substring(dashIndex + 1); // 截取从减号后开始的部分
int length = Math.min(fileName.length(), 15); // 取最短的长度不超过15位
fileName = fileName.substring(0, length); // 如果文件名超过15位,截取前15位
System.out.println(fileName);
}
```
这里我们首先找到减号的位置,然后提取从该位置开始的字符串,接着检查这个字符串的长度是否大于等于15,如果大于,则截取前15位。
相关问题
java语言中如何动态获取某一文件路径
在Java中,可以使用以下方法动态获取某一文件路径:
1. 获取当前项目的路径:
```java
String projectPath = System.getProperty("user.dir");
```
2. 获取类加载路径:
```java
String classPath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
```
3. 获取某一类的路径:
```java
String classFilePath = MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();
```
其中,`MyClass` 是你想要获取路径的类名。
4. 获取某一文件的路径:
```java
File file = new File("filename.txt");
String filePath = file.getAbsolutePath();
```
其中,`filename.txt` 是你想要获取路径的文件名。
用java语言写一个网页爬虫 用于获取图片
好的,以下是一个简单的Java网页爬虫示例,可以用于获取网页中的图片:
```java
import java.io.*;
import java.net.*;
import java.util.regex.*;
public class WebCrawler {
public static void main(String[] args) {
String url = "https://www.example.com";
String html = getHtml(url);
String pattern = "<img.*?src=\"(.*?)\".*?>";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(html);
while (m.find()) {
String imgUrl = m.group(1);
downloadImage(imgUrl);
}
}
private static String getHtml(String url) {
StringBuilder html = new StringBuilder();
try {
URLConnection conn = new URL(url).openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
html.append(line);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
return html.toString();
}
private static void downloadImage(String imgUrl) {
try {
URL url = new URL(imgUrl);
InputStream is = url.openStream();
String fileName = imgUrl.substring(imgUrl.lastIndexOf("/") + 1);
FileOutputStream fos = new FileOutputStream(fileName);
byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) != -1) {
fos.write(buffer, 0, length);
}
is.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序会获取指定网址的HTML代码,然后使用正则表达式匹配其中的图片链接,并下载图片到本地。你可以根据需要修改程序来适应不同的网站和图片格式。